Is it really so surprising that people continue to iterate and explore the space of possible DSLs -- literally, domain specific languages -- especially when people are solving problems from many different specific domains?
but many, if not most, are not domain-specific.
They're specific to the problem domain, which happens to be cross-field.
The venerable `make` is a DSL. awk is a DSL.
`make`, sure, but calling awk a dsl is a huge stretch
It's not, really. It's even cited on the Wikipedia page as a well-known DSL. Give it a read, there's a lot of DSLs that maybe don't seem like one at first blush.
Depends what you mean by that. For example, in the bioinformatics space it's super common to parallelise a workflow over genomic regions and then merge the results. So I use a tool that has a top level construct for that, literally language syntax which makes that both utterly trivial and extremely robust (for example, deals with the annoying problems of edge effects, overlapping regions, trying not to create breaks in important regions, etc). You can argue all of that is basic parallelism and not domain specific, but in practice it's extremely useful to have these constructs at the language level.
That's a really excellent example -- crossing the regionality information of genomics with an otherwise-basic parallelization problem definitely makes it nontrivial. Thank you :D