miniKanren - Dan Friedman and William Byrd
Why Hacker News recommends it
HN recommends it as a mind-blowing and fun introduction to logic programming for working programmers.
What it is
Dan Friedman and William Byrd demonstrate miniKanren, a logic programming system for Scheme, in an unconference talk. It includes generating programs by running relations in reverse.
Recommended by 2 HN commenters across 2 different months, 2013 to 2018.
What Hacker News said
Strong rec zalthor · 2013-02 · on “Explorations in Clojure's core.logic”
Here's a related talk on MiniKanren by Dan Freidman and Will Byrd: [this video] The bits about generating programs using MiniKanren was truly mind blowing.
Strong rec CamTin · 2018-09 · on “Reazon – miniKanren for Emacs”
Fun! I highly recommend watching Dan Friedman and William Byrd give their miniKanren conference talk (they've done it a number of times slightly differently) e.g. this one at the "Conj" Clojure convention: [this video] It's really a fun presentation and does a great job introducing logic programming and miniKanren to lay programmers.
Cites agumonkey · 2014-12 · on “Advanced programming languages (2009)”
Beside dependent types, bidirectional (~relational) programming is the only thing that amaze me. Dan Friedman gave talks about [mini]kanren, see [this video] I couldn't find the one where he asks (eval exp '()) to be 6 and gets many results such as 6 ;; duh (let ((_ 5)) ((lambda (x) (+ x 1)) _)) ;; better Here's an example involving cons cells only [LINK]