Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Hofmann, M.: Automatic Construction of XSL Templates – An Inductive Programming Approach. VDM Verlag, Saarbrücken (2007)
Biermann, A.W., Kodratoff, Y., Guiho, G.: Automatic Program Construction Techniques. The Free Press, NY (1984)
Summers, P.D.: A methodology for LISP program construction from examples. Journal ACM 24, 162–175 (1977)
Kitzelmann, E., Schmid, U.: Inductive synthesis of functional programs: An explanation based generalization approach. Journal of Machine Learning Research 7, 429–454 (2006)
Kitzelmann, E.: Data-driven induction of recursive functions from I/O-examples. In: Kitzelmann, E., Schmid, U. (eds.) Proceedings of the ECML/PKDD 2007 Workshop on Approaches and Applications of Inductive Programming (AAIP 2007), pp. 15–26 (2007)
Olsson, R.J.: Inductive functional programming using incremental program transformation. Artificial Intelligence 74(1), 55–83 (1995)
Katayama, S.: Systematic search for lambda expressions. In: van Eekelen, M.C.J.D. (ed.) Revised Selected Papers from the Sixth Symposium on Trends in Functional Programming, TFP 2005, vol. 6, pp. 111–126. Intellect (2007)
Quinlan, J.R.: Learning first-order definitions of functions. Journal of Artificial Intelligence Research 5, 139–161 (1996)
Muggleton, S., Feng, C.: Efficient induction of logic programs. In: Proceedings of the 1st Conference on Algorithmic Learning Theory, Ohmsma, Tokyo, Japan, pp. 368–381 (1990)
Muggleton, S.: Inverse entailment and Progol. New Generation Computing, Special issue on Inductive Logic Programming 13(3-4), 245–286 (1995)
Flener, P.: Inductive Logic Program Synthesis with Dialogs. In: Muggleton, S. (ed.) Proceedings of the 6th International Workshop on Inductive Logic Programming, Stockholm University, Royal Institute of Technology, pp. 28–51 (1996)
Hernández-Orallo, J., Ramírez-Quintana, M.J.: Inverse narrowing for the induction of functional logic programs. In: Freire-Nistal, J.L., Falaschi, M., Ferro, M.V. (eds.) Joint Conference on Declarative Programming, pp. 379–392 (1998)
Mitchell, T.M.: Machine Learning. McGraw-Hill Higher Education, New York (1997)
Kitzelmann, E.: Analytical inductive functional programming. In: Hanus, M. (ed.) LOPSTR 2008. LNCS, vol. 5438, pp. 87–102. Springer, Heidelberg (2009)
Sheard, T., Jones, S.P.: Template metaprogramming for Haskell. In: Chakravarty, M.M.T. (ed.) ACM SIGPLAN Haskell Workshop 2002, pp. 1–16. ACM Press, New York (2002)
Wadler, P.: The essence of functional programming. In: Conference Record of the Nineteenth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Albequerque, New Mexico, pp. 1–14 (1992)
King, D., Wadler, P.: Combining monads. Mathematical Structures in Computer Science, pp. 61–78 (1992)
Spivey, J.M.: Combinators for breadth-first search. J. Funct. Program. 10(4), 397–408 (2000)
Spivey, M., Seres, S.: The algebra of searching. In: Proceedings of a symposium in celebration of the work of. MacMillan, Basingstoke (2000)
Katayama, S.: Efficient exhaustive generation of functional programs using monte-carlo search with iterative deepening. In: Ho, T.-B., Zhou, Z.-H. (eds.) PRICAI 2008. LNCS (LNAI), vol. 5351, pp. 199–210. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hofmann, M., Kitzelmann, E., Schmid, U. (2010). Porting IgorII from Maude to Haskell . In: Schmid, U., Kitzelmann, E., Plasmeijer, R. (eds) Approaches and Applications of Inductive Programming. AAIP 2009. Lecture Notes in Computer Science, vol 5812. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11931-6_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-11931-6_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-11930-9
Online ISBN: 978-3-642-11931-6
eBook Packages: Computer ScienceComputer Science (R0)