Porting IgorII from Maude to Haskell

This paper describes our efforts and solutions in porting our IP system Igor 2 from the termrewriting language Maude to Haskell. We describe how, for our purpose necessary features of the homoiconic language Maude, especially the treatment of code as data and vice versa, can be simulated in Haskell using a stateful monad transformer which makes type and class information available. With our new implementation we are now able to use higher-order context during our synthesis and extract information from type classes useable as background knowledge. Keeping our new implementation as close as possible to our old, we could keep all features of our system.

[1]  Phillip D. Summers,et al.  A Methodology for LISP Program Construction from Examples , 1977, J. ACM.

[2]  Alan W. Biermann,et al.  Automatic Program Construction Techniques , 1984 .

[3]  Stephen Muggleton,et al.  Efficient Induction of Logic Programs , 1990, ALT.

[4]  Philip Wadler,et al.  Combining Monads , 1992 .

[5]  Philip Wadler,et al.  The essence of functional programming , 1992, POPL '92.

[6]  Roland Olsson,et al.  Inductive Functional Programming Using Incremental Program Transformation , 1995, Artif. Intell..

[7]  J. Ross Quinlan Learning First-Order Definitions of Functions , 1996, J. Artif. Intell. Res..

[8]  Pierre Flener,et al.  Inductive Logic Program Synthesis with DIALOGS , 1996, Inductive Logic Programming Workshop.

[9]  José Hernández-Orallo,et al.  Inverse Narrowing for the Induction of Functional Logic Programs , 1998, APPIA-GULP-PRODE.

[10]  J. Michael Spivey,et al.  Combinators for breadth-first search , 2000, Journal of Functional Programming.

[11]  Simon L. Peyton Jones,et al.  Template meta-programming for Haskell , 2002, Haskell '02.

[12]  Susumu Katayama Systematic search for lambda expressions , 2005, Trends in Functional Programming.

[13]  Ute Schmid,et al.  Inductive Synthesis of Functional Programs: An Explanation Based Generalization Approach , 2006, J. Mach. Learn. Res..

[14]  Susumu Katayama Efficient Exhaustive Generation of Functional Programs Using Monte-Carlo Search with Iterative Deepening , 2008, PRICAI.

[15]  Emanuel Kitzelmann,et al.  Analytical Inductive Functional Programming , 2009, LOPSTR.

[16]  Zhi-Hua Zhou,et al.  PRICAI 2008: Trends in Artificial Intelligence, 10th Pacific Rim International Conference on Artificial Intelligence, Hanoi, Vietnam, December 15-19, 2008. Proceedings , 2008, PRICAI.

[17]  Stephen Muggleton,et al.  Inverse entailment and progol , 1995, New Generation Computing.