This is a talk about the Open Source movement and the Free Software movement it grew out of, about its disregarded heroes and its flawed prophets, about what it’s doing for us and what it’s doing to us.
I’d like to examine how it empowers us, and how it exploits us, and to show you why, despite everything that’s wrong with it, it’s really, really important that we figure out a way to make sure nobody can ever take it from us.
Relational programming, or logic programming, is a paradigm that exhibits remarkable and powerful properties, to the extent that its implementation seems frightfully daunting to the layman. µKanren is a minimal relational language that seeks to strip the paradigm down to its core, leaving us with a succinct and elegant set of primitives on top of which we can rebuild even the most powerful relational constructs.
In this talk, we will explore the µKanren language by implementing it from first principles in a simple functional programming language, going on to demonstrate how you can assemble these simple building blocks into a semblance of its richer parent, miniKanren, and maybe solve a logic puzzle or two to make sure it's working as advertised.
The µKanren paper, and the original µKanren implementation, were authored by Jason Hemann and Daniel P. Friedman. The paper is available at http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf, and the Scheme implementation at https://github.com/jasonhemann/microKanren
Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.