Relational Programming in miniKanren
- đ¤ Speaker: William E. Byrd, University of Utah
- đ Date & Time: Friday 06 December 2013, 16:00 - 17:00
- đ Venue: Room FW26, Computer Laboratory, William Gates Building
Abstract
The promise of logic programming is that programs can be written relationally, without distinguishing between input and output arguments. Relational programs are remarkably flexible—-for example, a relational type-inferencer also performs type checking and type inhabitation, while a relational theorem prover generates theorems as well as proofs and can even be used as a simple proof assistant. Unfortunately, writing relational programs is difficult, and requires many interesting and unusual tools and techniques.
In this talk I will discuss miniKanren, a language specifically designed for relational programming. miniKanren is designed to be easily hackable, and has been ported from Scheme to many languages, including Racket, Clojure, Python, Haskell, Scala, Ruby, and JavaScript. miniKanren features complete search, relational arithmetic, nominal unification (inspired by the work of Andrew Pitts and his students at Cambridge), and various constraint extensions. I will demonstrate an environment-passing Scheme interpreter and a term reducer for combinatory logic, both written in miniKanren, and show how both can be used to perform program synthesis.
Bio:
William E. Byrd is a Research Associate in the U Combinator programming languages research group at the University of Utah. He received his PhD from Indiana University in 2009, under Daniel P. Friedman. He is co-author of The Reasoned Schemer, and co-designer of several declarative languages: miniKanren (logic programming), Harlan (GPU programming), and Kanor (cluster programming).
Series This talk is part of the Logic and Semantics Seminar (Computer Laboratory) series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge talks
- Computing and Mathematics
- Department of Computer Science and Technology talks and seminars
- Interested Talks
- Logic and Semantics Seminar (Computer Laboratory)
- Martin's interesting talks
- Room FW26, Computer Laboratory, William Gates Building
- School of Technology
- tcw57âs list
- Trust & Technology Initiative - interesting events
- yk373's list
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)

William E. Byrd, University of Utah
Friday 06 December 2013, 16:00-17:00