Talks
Events

Propagators in Clojure

Thomas Kristensen at Clojure/conj 2013

Clojure opens up for combining different computational models, such as functional programming, object oriented programming and logic programming. Compared to these, propagators are a relatively new declarative computational model which makes it simple to combine different sources of information, to hold conflicting views of the world and to trace what information was needed to derive values.

This talk explains the underlying principles behind propagators using the newly released, extensible "propaganda" Clojure library with example problems solved using FP, LP and propagators. The talk will take the audience through the basic concepts of setting up a cell network, add propagators, combine information to refine values, extend propaganda with new datatypes, hold multiple contradictory worldviews and perform simple backtracking.

After graduating with a PhD in computer science from Aarhus University, Thomas turned to the dark side and has been working in different parts of the private sector ever since. Throughout his career, Thomas has worked on everything from molecular simulations, over financial analysis to cute programs playing music using logic programming. He currently works for uSwitch in London, where he happily hacks Clojure all day long. He is also the creator of the propaganda library for Clojure.