Abstract | ||
---|---|---|
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 runtime. 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. |
Year | DOI | Venue |
---|---|---|
2017 | 10.1007/978-3-319-55792-2_5 | Lecture Notes in Computer Science |
Keywords | DocType | Volume |
Polytypic programming,Datatype generic programming,Genetic programming,Functional programming,Scala | Conference | 10200 |
ISSN | Citations | PageRank |
0302-9743 | 0 | 0.34 |
References | Authors | |
0 | 3 |
Name | Order | Citations | PageRank |
---|---|---|---|
Jerry Swan | 1 | 196 | 19.47 |
Krzysztof Krawiec | 2 | 975 | 78.06 |
Neil Ghani | 3 | 3 | 1.10 |