Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How does MiniKanren fix some limitations? MiniKanren corresponds to the purely relational subset of Prolog.


By allowing you to use the features of the host language to complement the features of miniKanren. Having good support for multiple programming paradigms is better than trying to make one paradigm fit all needs. Poplog[1] was an earlier attempt to provide such synergies but it failed to gain market share. It's now free software so take a look! The Racket ecosystem is another approach where each module can choose a language with some of them being Prolog-like[2]. [1] https://en.m.wikipedia.org/wiki/Poplog [2] https://racket-lang.org/languages.html


Ok, but MiniKanren isn't intrinsic to Scheme. I agree Racket makes it especially easy to embed sub languages, but you could embed core relational Prolog just as well as MiniKanren. My understanding of your statement is that Scheme and MiniKanren share sexp syntax, but the same applies: you could embed an sexp-based Prolog just as well. The only remaining MiniKanren advantage is then to have a complete search strategy, this I concede.


I didn't connect miniKanren to Scheme. I said "Host Language." I did suggest the value of a multi-paradigm host language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: