Hacker News new | ask | show | jobs
by TeMPOraL 3972 days ago
> A DSL would have a nice BNF-like syntax and abstract any implementation details away.

Use powerful enough language.

https://en.wikibooks.org/wiki/Common_Lisp/External_libraries...

Here, you can pretty much write out your BNF directly and get a parser out of it.

1 comments

That's exactly the approach I'm preaching. I've built entire layers of languages above Lisp using this kind of eDSLs: https://github.com/combinatorylogic/mbase

So, yes, as long as you have a sufficiently powerful meta-language, eDSL is almost always better than a library. But yet, if your language is not powerful at all, DSLs (standalone) are still better then the libraries, they're just a bit more complicated to implement.