webyrd/Barliman

Question: Relation to Inductive Programming Systems like IGOR

ichistmeinname opened this issue · 3 comments

When watching your ICFP-talk, I immediately thought of inductive programming systems like IGOR, but did not find the references quick enough to ask a question via slack. So, do you use techniques similar to approaches of inductive programming? If not, could these approaches be helpful for your use-case or vice versa? The README does not mention any related work.

An Analytical Inductive Functional Programming System that Avoids Unintended Programs
Analytical Inductive Functional Programming
IGOR II – an Analytical Inductive Functional Programming System
Inductive Programming for Clojure

gregr commented

Hi @ichistmeinname

Our current approach is deductive. Barliman is implemented in the logic programming language miniKanren, and inherits its deductive behavior from miniKanren's default search strategy.

We do have some unimplemented ideas, inspired by inductive programming, that we think should improve performance, but we haven't run any serious experiments yet. We're familiar with IGOR, Escher, and some other inductive systems, but we're not experts. We believe the best approaches to program synthesis will be those that can apply a variety of strategies, taking problem structure into account.

If you have ideas to share, or you're interested in working on this with us, let us know. We'd appreciate the help!

Also, for more detail on the particular implementation used for the ICFP paper, you can find our artifact here: https://github.com/gregr/icfp2017-artifact-auas7pp

Thanks for the quick response. I'm not an expert either, but I will definitely take another look at your implementation. Actually, I'm a PhD student at Kiel (Germany), where the functional logic PL Curry is developed, so I was of course curious about such an approach in miniKanren.

If you won't might, I will give you a shout via mail, if I have further questions.

gregr commented

@ichistmeinname Don't mind at all. Feel free to email.