In this episode I talk with William Byrd. We talk about miniKanren and the differences between functional, logic and relational programming. We also cover the idea of thinking at higher levels of abstractions, and comparisons of relational programming to topics such as SQL, property testing, and code contracts.
http://webyrd.net/http://github.com/webyrd@webyrd on Twitter and webyrd@gmail.com
U Combinator LabminiKanren Will’s overview of how he got into LISP and Relational ProgrammingDaniel Friedman and Indiana University Logic ProgrammingZebra Puzzle – Who owns the Zebra? Oleg KiselyovThe Reasoned Schemer Purely Relational Arithmetic System The Ability to Reorder Statements and Keep the Same Semantics Functional vs Logic vs Relationalcore.logicInterview of Will on InfoQ How Far Can We Get Being Purely Declarative Constraint Logic Programming Bob Harpers’ Post on Static vs Dynamic Typing Analogies Between Typing and Logic Programming Dependent Type Systems, e.g. Agda and Idris The Discovery of Functional Programming and Signs of Logic ProgrammingFunctional JavaScript by Fogus – (Note: There was Episode with Fogus on Functional JavaScript) Trying to Understand the Implementation of miniKanren to Understand Thinking Operationally The ability to be able to let go of implementation details and think at a more abstract level Pointers on Where to Dig Into Relational ProgrammingminiKanren.org – For all things miniKanrenWill’s Dissertation Scheme Workshop Paper Will is Working on a Book as Starting Place for Relational ProgrammingThe Art of PrologProlog Programming for Artificial Intelligence by Ivan Bratko Thanks to Everyone Who Has Worked on miniKanren Clojure/Conj and Strangeloop talks on miniKanren
A giant Thank You to David Belcher for the logo design.