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.
Why Hacker News points people here: HN recommends it as a mind-blowing and fun introduction to logic programming for working programmers.
“I highly recommend watching Dan Friedman and William Byrd give their miniKanren conference talk”HN comment, 2018
“The bits about generating programs using MiniKanren was truly mind blowing.”
Talk on miniKanren including generating programs
Full comment
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.
Strongly recommendsCamTinSep 2018
“I highly recommend watching Dan Friedman and William Byrd give their miniKanren conference talk”
Fun introduction to logic programming and miniKanren for lay programmers
Full comment
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 itagumonkeyDec 2014
“Dan Friedman gave talks about [mini]kanren, see”
Friedman talks on miniKanren and bidirectional programming
Full comment
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