By the same authors

Polytypic Genetic Programming

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Full text download(s)

Published copy (DOI)



Publication details

Title of host publication20th European Conference on the Applications of Evolutionary Computation
DatePublished - 1 Jul 2017
Number of pages16
Place of PublicationAmsterdam
EditorsGiovanni Squillero
Original languageUndefined/Unknown

Publication series



Program synthesis via heuristic search often requires a great deal of boilerplate code to adapt program APIs to the search mechanism. In addition, the majority of existing approaches are not type-safe: i.e. they can fail at runtime because the search mechanisms lack the strict type information often available to the compiler. In this article, we describe Polytope, a Scala framework that uses polytypic programming, a relatively recent advance in program abstraction. Polytope requires a minimum of boilerplate code and supports a form of strong-typing in which type rules are automatically enforced by the compiler, even for search operations such as mutation which are applied at run-time. By operating directly on language-native expressions, it provides an embeddable optimization procedure for existing code. We give a tutorial example of the specific polytypic approach we adopt and compare both runtime efficiency and required lines of code against the well-known EpochX GP framework, showing comparable performance in the former and the complete elimination of boilerplate for the latter.

    Research areas

  • genetic algorithms, genetic programming, genetic Improvement, Polytypic programming, Datatype generic programming, Functional programming, Scala, EBNF grammar, ADT, 6-mux

Discover related content

Find related publications, people, projects, datasets and more using interactive charts.

View graph of relations