Bernd Fischer and
Eelco Visser.
Retrofitting the AutoBayes Program Synthesis System with Concrete Syntax.
(Draft. Submitted for publication). November 2003. (
pdf,
ps)
Abstract
AutoBayes is a fully automatic, schema-based program synthesis system
for statistical data analysis applications. Its core component is
a schema library, i.e., a collection of generic code templates
with associated applicability constraints
which are instantiated in a problem-specific way during synthesis.
Currently,
AutoBayes is implemented in Prolog; the schemas thus use
abstract syntax (i.e., Prolog terms) to formulate the templates.
However, the conceptual distance between this abstract representation
and the concrete syntax of the generated programs makes the
schemas hard to create and maintain.
In this paper we describe how
AutoBayes is retrofitted with concrete
syntax. We show how it is integrated into Prolog and describe how the
seamless interaction of concrete syntax fragments with
AutoBayes's remaining
``legacy'' meta-programming kernel based on abstract syntax is
achieved. We apply the approach to gradually migrate individual
schemas without forcing a disruptive migration of the entire system to
a different meta-programming language. First experiences show that a
smooth migration can be achieved. Moreover, it can result in a
considerable reduction of the code size and improved readability of
the code. In particular, abstracting out fresh-variable generation
and second-order term construction allows the formulation of larger
continuous fragments.
Links