|
|
|
|
|
by dragonwriter
1522 days ago
|
|
> The language wars largely ended, with the more popular languages folding in a lot of the more (at the time) esoteric features. > DSLs have fallen out of favor. External DSLs have largely fallen out of favor, in a large part because the “esoteric features” that have been widely adopted include those that enable very expressive internal DSLs. |
|
If we had grammars that were really extensible (add "unless(X)" equivalent to "if(!X)" in Java's grammar with a few lines of code) and composable (stick a SQL statement into a Java program with just a few lines of code if you have the SQL and Java grammars) and reversible (turn the AST tree back to source code) it would be a lot more fun writing external DSLs.
Every so often a revolution gets promised, like PEG parsers for Python, but then people get worried about how fast the parser is again and it isn't like Heinlein's Moon is a Harsh Mistress but more like Haldeman's Worlds (as Pete Townsend puts it "We won't get fooled again".)
If parsers were easier to use people might use them 10x as often as they do today.