-
It is nuclear overkill for most problems you can think of.
But when you hit a problem that you need something like this for... you need something like this. The attempts to get around it or avoid it or do some unbelievably hacky thing leads to piles and piles of terrible, terrible code.
In 2024, though, I do try very hard to embed my DSLs in an existing serialization. It doesn't always work out, but, the case they show of directly embedding an AST into YAML is a worst-case scenario. In real life I've done things like specify a particular field carries an expr[1] expression to do that sort of thing, and then the structure of the rest of the file just follows normal serialization format.
[1]: https://github.com/expr-lang/expr , but I'm sure many static languages have something like this. If you don't know one, it's a good tool to put in the belt in case you ever need it.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
lingo is a _framework_ for building your own DSL for your go application.
and by DSL they mean "extension language". like vimscript or emacs lisp. or guile or python...
so you can easily add primitives to your application specific language, in go, specifically.
https://gitlab.com/gitlab-org/vulnerability-research/foss/li...
I think this fits nearly with the common understanding "DSL" doesn't it?
https://en.m.wikipedia.org/wiki/Domain-specific_language
-