3 ms·
I've actually seen this usage pattern in the practical usage of logic programming libraries. Common Lisp's Screamer [1], for instance, or Clojure's less-mature
by BeautifulSynch 3y ago
I've actually seen this usage pattern in the practical usage of logic programming libraries. Common Lisp's Screamer [1], for instance, or Clojure's less-mature core.logic [2].
Though to be fair, both of these libraries are in Lisp languages, which inherently support the design pattern of slipping into/out-of DSLs.
[1] http://nikodemus.github.io/screamer/ http://nikodemus.github.io/screamer/
[2] https://github.com/clojure/core.logic https://github.com/clojure/core.logic
- slaymaker1907 3y agoMinikanren/Microkanren (which is what core.logic is based off of) actually works really well as library in most languages. Nothing about it really requires macros to be easy to use, just higher order functions.