let over logic - What functional programming can learn from logic programming
48 years after it's invention, logic programming remains a less frequently used paradigm.
What can functional programming learn from logic programming?
Unification and nondeterminism are powerful constructs not strictly relegated to logic programming. We'll look at unification, nondeterministic completion, probabilistic computation, and constraint propagation in functional contexts.
Outline/structure of the Session
- 5 mins - introduction to logic programming
- 10 mins - what unification would look like in Clojure
- 7 mins - what nondeterminism would look like in Clojure
- 5 mins - probabilistic computation in Clojure
- 7 mins - truth maintenance/constraints in Clojure
- 11 mins - discussion.
Audience will leave session with an expanded appreciation of what is possible in their own language.
functional programmers prepared to imagine extending the functional paradigm
Participants should be comfortable with some functional language. Examples mostly in Clojure