4 ms·
professional clojure programmer here, not a myth, DSLs often abstract in the wrong direction and by departing from a language of values and function composition
by dustingetz 9y ago
professional clojure programmer here, not a myth, DSLs often abstract in the wrong direction and by departing from a language of values and function composition (eg by introducing macros) a bad dsl in fact becomes a barrier to good abstraction. Consider any DSL for html generation that predates React.js; react isn’t even a DSL at all, react is values and functions, so there’s all this good innovation happening around React that was all dead ends on 100% of pre-React DSLs.
- flavio81 9y ago>a bad dsl in fact becomes a barrier to good abstraction. Consider any DSL for html generation that predates React.js; react isn’t even a DSL at all, react is values and functions React isn't a DSL; React includes a DSL for html generation. And by the way, we have had such a thing in Lisp since the existence of HTML. Tons of libraries that allow you to inline HTML into your code.
- flavio81 9y ago>and by departing from a language of values and function composition (eg by introducing macros) You are assuming that a DSL is done by using macros; which is incorrect; in Lisp you can easily create your own DSL using plain functions as well.
- kornish 9y agoSounds like maybe we're talking past each other. Would you mind clarifying how you're defining a DSL?
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]