BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Relational Programming in miniKanren - William E. Byrd\, Universit
 y of Utah
DTSTART:20131206T160000Z
DTEND:20131206T170000Z
UID:TALK49257@talks.cam.ac.uk
CONTACT:Jonathan Hayman
DESCRIPTION:The promise of logic programming is that programs can be writt
 en\nrelationally\, without distinguishing between input and output\nargume
 nts. Relational programs are remarkably flexible---for example\,\na relati
 onal type-inferencer also performs type checking and type\ninhabitation\, 
 while a relational theorem prover generates theorems as\nwell as proofs an
 d can even be used as a simple proof assistant.\nUnfortunately\, writing r
 elational programs is difficult\, and requires\nmany interesting and unusu
 al tools and techniques.\n\nIn this talk I will discuss miniKanren\, a lan
 guage specifically\ndesigned for relational programming.  miniKanren is de
 signed to be\neasily hackable\, and has been ported from Scheme to many la
 nguages\,\nincluding Racket\, Clojure\, Python\, Haskell\, Scala\, Ruby\, 
 and\nJavaScript.  miniKanren features complete search\, relational\narithm
 etic\, nominal unification (inspired by the work of Andrew Pitts\nand his 
 students at Cambridge)\, and various constraint extensions.  I\nwill demon
 strate an environment-passing Scheme interpreter and a term\nreducer for c
 ombinatory logic\, both written in miniKanren\, and show\nhow both can be 
 used to perform program synthesis.\n\n\nBio:\n\nWilliam E. Byrd is a Resea
 rch Associate in the U Combinator\nprogramming languages research group at
  the University of Utah.  He\nreceived his PhD from Indiana University in 
 2009\, under Daniel P.\nFriedman.  He is co-author of The Reasoned Schemer
 \, and co-designer of\nseveral declarative languages: miniKanren (logic pr
 ogramming)\, Harlan\n(GPU programming)\, and Kanor (cluster programming).
LOCATION:Room FW26\, Computer Laboratory\, William Gates Building
END:VEVENT
END:VCALENDAR
