[This session is part of the miniKanren Confo colocated with Clojure/West.]
Logic programming may be powerful, but it is hard to apply. Even experienced developers get tripped up by unwelcome surprises time and again. Accordingly, hardly any real software gets written in Prolog -- and many who do work with logic programming focus on very clever (but at times contrived) toy problems.
miniKanren and kin are an exciting development because they integrate well with their functional host language and get many things right, promising to get more actual work done. Nevertheless I believe there still is room for development.
In my talk I will focus on LP in two core areas that should matter strongly to working software developers: metaprogramming and data access (both in a wide sense). I will outline the potential LP has in these areas and study some major roadblocks to realizing this potential, with respect to formalisms and cognitive load.
We will proceed to take apart the core components of logic programming and look at ways to reassemble them with more leverage. Using that leverage we can introduce features to guide and assist developers avoiding everyday LP madness. I will provide a survey of new and well-known techniques to deal with some of the most pressing usability issues in logic programming.
I might claim that LP language designers have yet been neither crazy and nor considerate enough to both sufficiently empower and shield users and victims of logic programming in the wild.
Developer, Machine Learning & Web Development, like working with Clojure, CoffeeScript, Erlang bio from Twitter
Sign in to add slides, notes or videos to this session