3 ms·
For those knowledgeable enough in Scheme the original microKanren - and some immediate extensions towards miniKanren - should be rather clear. It's for users of
by avmich 4y ago
For those knowledgeable enough in Scheme the original microKanren - and some immediate extensions towards miniKanren - should be rather clear. It's for users of other languages, with other popular mechanisms, that questions arise. More comments for them would be welcome.
- ashton314 4y agoThe original microKanren is pretty clear; the one struggle I had with the paper was some of the variable names were a little too "cute": e.g. `s/c` all over the place; I assume this was a contraction for "substitution/counter" (i.e. the state) which is what I expanded it to. Super terse variable names are difficult for me to grok when I'm looking at something new. I did hew to the standard convention of representing a type environment with Γ (Gamma); hopefully that's not too confusing for people looking at the type checker. :)
- ejdo 4y agoI did a mostly-true-to-the-paper python implementation a while back, that may be helpful as well: https://github.com/Erik-J-D/microKanren-py https://github.com/Erik-J-D/microKanren-py