Skip to content
0:00 / 0:00

#minikanren#relationalprogramming#logicprogramming

PolyConf 15: The Promise of Relational Programming / William Byrd

PolyConf

2.6K subscribers • 4 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2015 to 2023.
  • Presented by William Byrd

Intermediate. Assumes working knowledge.

8.6K views11 years ago2 recommendations

Programming languagesLanguage design and type systemsFunctional programming

William Byrd introduces relational programming using miniKanren, showing how treating programs as mathematical relations removes the distinction between inputs and outputs.

Programmers often write procedures or methods that model mathematical functions. These functions clearly distinguish between input arguments and output values. In contrast, relational programming treats programs as mathematical relations, eliminating the distinction between input and output. miniKanren is an embedded domain specific language for constraint logic programming, designed for writing interpreters, type inferencers, theorem provers, and other interesting programs as relations. We will explore the extremely interesting and surprising behavior of these relational programs, and consider how this approach to programming might be made more practical in the future.

Why it's here

2 people recommend this

What people say. Recommended as an excellent introduction to relational programming and miniKanren.

u/EricIOin r/compsci • Recommends

PolyConf 15: The Promise of Relational Programming / William Byrd

u/Disjunction181in r/ProgrammingLanguages • Recommends

On “Talks by designers of popular languages?”

I'll just contribute a couple: * Typeclasses vs. the World * The Promise of Relational Programming

u/Disjunction181in r/ProgrammingLanguages • Mentions

On “Can Logic Programming Be Liberated from Predicates and Backtracking?”

Hello. To be honest, I'm not the best person to ask since I'm mostly into the adjacent fields of structural type theory and unification theory, much more so than logic programming specifically. I heard that Will Byrd was going to start a discord server or something but I don't see anything like that on his home page. Any communities for LP, SWI prolog, Mercury, miniKanren, wherever could be helpful. The discord in the sidebar has some Mercury developers in it. I think most people start their LP journey by learning Prolog. I haven't. I think SWI prolog is the most popular and extensive, and it has good language docs. It also has the best support for CLP. The best resource for miniKanren is…