End of project

The project expired with end of September 2010. The development of the Haskell Igor2 version was ceased.

Igor2 version 0.8.0 uploaded

The latest Igor2 version 0.8.0 for Haskell is online as Cabal package and Win32 binary.

AAIP09 Post-Proceedings at Springer

The AAIP Workshop Post-Proceedings have been published as Springer Lecture Notes in Computer Science (LNCS) volume 5812 (LNCS)


Two appers have been accepted for oral presentation at the PEPM workshop on the POPL conference 2010 in Madrid.

Article in HCAR 08

An article about IgorII appeared in the fifteenth edition of the "Haskell Communities and Activities Report"

Visiting Researcher O. Monakhov

Oleg Monakhov from the Russian Academy of Sciences, Siberian Branch is visiting our group from 19th of Sept. to 21st of Nov. 2009, funded by DAAD.

Visiting Researcher S. Katayama

Susumu Katayama from Miyzaki University Japan is visiting from 7th to 10th September. He was the host of Martin Hofmann who spent a two month research visit at his department in summer 2009, funded by the Japan Society for the Promotion of Science.

Igor2 in Haskell

A first Haskell version of IgorII is available as cabal package in the Download section

JSPS Fellowship granted

A research fellowship of the Japan Society for the Promotion of Science has been granted to Martin Hofmann. He will spent two month as a visiting researcher in the department of Susumu Katayama at the University of Miyazaki in Japan in summer 2009.

Ray Kurzweil Prize

The Best Paper Prize at AGI09 has been awarded to N. Crossley, E. Kitzelmann, M. Hofmann, and U. Schmid for their paper Combining Analytical and Evolutionary Inductive Programming.


Our group, together with Rinus Plasmeijer, is organising the next workshop on Approaches and Applications of Inductive Programming 2009 (AAIP'09).

Article in HCAR 08

An article about IgorII appeared in the fifteenth edition of the "Haskell Communities and Activities Report"

Major Overhaul

The page has been updated, especially the Download and the Members section. New section Activities added.

New example data

New example data for various IP systems (as used in AGI-09 paper submission) is now available in the download section.

Publications updated

The list of publications has been updated

Homepage online

This site is now online as official project homepage.



Please note that the development of the Haskell Igor2 version was ceased at the end of September 2010. You still may contact me if you need help, but please don't expect an answer immediately.


This is a re-implementation of the IgorII algorithm in Haskell which offers additional extensions. It is currently under development.


Igor2 comes as a Cabal package. To install Igor2 at least version 6.10 of the Glasgow haskell Compiler is required. To resolve all direct and indirect package dependencies we recommend to install the latest Haskell Platform. After installing the Haskell Platform. You might need to update the list of known packages using:

cabal update

Download and unpack the Cabal package, then descend into the directory containig the file 'igor2.cabal', and install and run Igor2 with a batch of examples by typing:

cabal install
igor2 -b expl/batch.txt

Released Packages

Since version we provide Igor2 in three flavours. Two source distributions, one which allows to create a log file, and one where logging is disabled. The latter tends to be a bit faster, because the logging overhead is removed. Since version, both are also compileable under Win32 systems. There is also a Windows binary. However it is rather big (> 30MB), because Igor2 uses the GHC API, which is also compiled into the program and of course does not contain example files. They may be taken from the subfolder 'expl/' in a source distribution.

Version Source (with logging) Source (without logging) Win32 binary
0.8.0 igor2-0.8.0.tar.gz --- igor2-0.8.0.exe igor2- --- igor2- igor2- igor2- igor2- igor2- igor2- igor2- igor2- igor2- igor2-
< Older versions
NOTE: The WIN32 binary is compiled with Haskell Platform 2009.2.0.2 and is not upward compatible. So if you encounter problems with some WIN32 binary, it may help to compile it yourself.

Release Notes

12/10/10, version 0.8.0


  • greedy split option from the old MAUDE version implemented
  • experimental paramorphisms introduction implemented (lacks appropriate reduction order)
  • some minor fixes

Known Bugs:

  • Nothing changed :-(
25/01/10, version


  • Minor bugfixes for simplifying map/fold/filter applications

Known Bugs:

  • Still the same as in the previous version :-(
13/01/10, version


  • generic catamorphism for arbitary algebraic data types

Known Bugs:

  • Still the same as in the previous version :-(
11/10/09, version


  • support for Windows
  • polymorphic use of background knowledge
  • using haskeline instead of editline
  • <Ctr-C> interrupts execution of current command
  • using haskell-src-exts
  • major overhaul of package structure

Known Bugs:

  • Strange behaviour under Windows. Used package 'haskeline' seems to cause a segmentation fault when using input completion.
    Workaround: start with an empty line by pressing return just at the beginning.
  • Wrong path separator under windows, also due to 'haskeline'.
  • 'haskeline' does not expand the home directory

Other Software

A tool to visualise IgorII's searchspace. Only applicable for igor2-0.9.5 or higher (download/manual)
An Eclipse Plug-In to generate Java Code from method annotations using Igor(download/manual)
An Eclipse Plug-In for Learning XSL Transformations from Edit-Traces (download/manual)
A Java-based graphical user interface for Igor2.2 and Igor2.3 (download)
A Java wrapper for Igor2.2 and Igor2.3 (download)
A parsing Library for Igor2 ouput together with a generic printing interface in Java (download)


Some data, specifications and the like which might be usefull or are part of a submitted paper.

Symposium on Trends in Functional Programming (TFP 2010)
International Conference on Functional Programming (ICFP 2010)
International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2010)
European Conference on Artificial Intelligence (ECAI 2010)
Workshop on Partial Evaluation and Program Manipulation (PEPM 2010)
Approaches and Applications of Inductive Programming 2009 (AAIP'09)
Conference on Artificial General Intelligence 2009 (AGI-09)