3 ms·
I never claimed it could be more efficient. I'm completely in agreement that compiled DSLs are more capable. I'm even a big fan of eDSLs which produce compiled
by tel 12y ago
I never claimed it could be more efficient. I'm completely in agreement that compiled DSLs are more capable. I'm even a big fan of eDSLs which produce compiled output. I don't find completely static, compiled exterior DSLs to be as frequently useful, however, due to the massive increase in maintenance cost---this holds especially true when you have a sufficiently expressive type system to embed the type system of your eDSL into.
- sklogic 12y agoThen I did not understand your reference to the 3rd point. I'm not talking about fully standalone compiled DSLs (totally agree they're usually unmaintainable) - I was referring to the metaprogramming-based compiled eDSLs, implemented as macros on top of a host language (or a range of host languages). This way it's really easy to mix traits into your DSL design, including various type systems, not even necessarily directly compatible with the host language type system. I found it very productive to have Prolog (or anything comparable) as one of the host languages, it's trivial then to map most of the practical type systems to it.