Abstract
Many methods exist to perform program transformations, but most of
them are dedicated to few programming languages. We propose a new
formalism able to encode an abstract representation of the operational
semantics of a program. With this formalism, we define simple transformations
that lead to complex ones such as deforestation or partial evaluation
in several programming languages. Though highly theoretical and language-independent,
this method can be implemented and especially interfaced with real
programming languages. For instance, a prototype dealing with a simple
higher-order functional programming language has been implemented
(with a call-by-value operational semantics). This prototype produces
some more powerful transformations than other known functional methods,
especially with deforestation on functions with accumulative parameters.
Users
Please
log in to take part in the discussion (add own reviews or comments).