How to Invent Functions

  • J. Roland Olsson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1598)


The paper presents the abstraction transformation which is a fundamental method for creating functions in ADATE. The use of abstraction turns out to be similar to evolution by gene duplication which is emerging as the most important theory of “building blocks” in natural genomes. We discuss the relationship between abstraction and its natural counterparts, but also give novel technical details on automatic invention of functions. Basically, abstraction is the reverse of the inlining transformation performed by optimizing compilers.


Priority Queue Functional Programming Cost Limit Expression Tree Combinatorial Search 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. W. Appel, Modern compiler implementation in ML, Cambridge University Press, 1998.Google Scholar
  2. 2.
    T. Endo, T. Imanishi, T. Gojobori and H. Inoko, Evolutionary significance of intra-genome duplications on human chromosomes, Cell, number 205, December 31, 1997, pp. 19–27.Google Scholar
  3. 3.
    D. B. Fogel, Evolutionary Computation: Toward a New Philosophy of Machine Intelligence, IEEE Press, 1996.Google Scholar
  4. 4.
    W. S. Klug and M. R. Cummings, Essentials of genetics, Prentice-Hall, 1999.Google Scholar
  5. 5.
    J. R. Koza, Genetic programming: on the programming of computers by means of natural selection, MIT Press, 1992.Google Scholar
  6. 6.
    J. P. Nordin, Evolutionary program induction of binary machine code and its applications, Krehl Verlag, Münster, 1997.Google Scholar
  7. 7.
    S. Ohno, Evolution by gene duplication, Springer-Verlag, 1970.Google Scholar
  8. 8.
    J. R. Olsson, Inductive functional programming using incremental program transformation and Execution of logic programs by iterative-deepening A * SLD-tree search, Research report 189, Dr scient thesis, ISBN 82-7368-099-1, University of Oslo, 1994.Google Scholar
  9. 9.
    J. R. Olsson, Inductive functional programming using incremental program transformation, Artificial Intelligence, volume 74, number 1, March 1995, pp. 55–83.CrossRefGoogle Scholar
  10. 10.
    J. R. Olsson, Web page for Automatic Design of Algorithms through Evolution, (current Nov. 23, 1998).
  11. 11.
    J. R. Olsson, Population management for automatic design of algorithms through evolution, International Conference on Evolutionary Computation, 1998.Google Scholar
  12. 12.
    Å. Wikström, Functional Programming Using Standard ML, Prentice Hall International, 1987.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1999

Authors and Affiliations

  • J. Roland Olsson
    • 1
  1. 1.Department of Computer ScienceChalmers UniversityGothenburgSweden

Personalised recommendations