Transformation in Intentional Programming

  • Oege de Moor ,
  • Brian Dickens ,
  • Paul Kwiatkowski ,
  • William Aitken

Published by Institute of Electrical and Electronics Engineers, Inc.

Publication

Intentional programming is a new paradigm in software engineering that allows programming languages to be implemented in a highly extensible manner. In particular, the programmer can specify new abstractions that are specific to his problem domain, while simultaneously recording any domain specific optimizations that may apply to such new abstractions. This paper describes a system that implements intentional programming, focusing on the facilities for program transformation. The key difference with other approaches lies in the way the order of transformation is controlled: emphasis is placed on specifying that order in a compositional fashion, so that transformations are easily re-used.