Programming Research Group
Research ReportRR-01-21
Intentional Programming: a host of language features
Eric van Wyk,
Oege de Moor,
Ganesh Sittampalam,
Ivan Sanabria-Piretti,
Kevin Backhouse, and
Paul Kwiatkowski.
December 2001, 48pp.
Abstract
Programming languages and programming tasks are rarely a perfect fit:
often a program could be much clarified by using a number of tailored
language features, but the cost of introducing those features in the
language is perceived as too high. If a programming language could be
implemented in a highly modular fashion, that cost might be lower. To
achieve such modularisation is the goal of Intentional
Programming.
Intentional Programming is the brainchild of the
founder of Microsoft's applications division Charles Simonyi.
Language features are called intentions to emphasise the fact
that language features can be tailored to the programmer's wishes. One
starts with a host language, that is subsequently extended by
adding new domain-specific features. Crucially, these features should
be composable wherever possible; independent language features
should co-exist peacefully without each needing to be explicitly aware
of presence or absence of others. Indeed, given a sufficiently broad
library of intentions, it should be possible to construct a new
language from the ground up.
When adding new intentions to a language it is essential that they be
implemented in an efficient manner. It is critical that programs
developed via Intentional Programming are not any less efficient than
those developed by traditional means. Our aims as intention
developers are to build intentions which are both expressive and
efficient.
This paper is available as a 147,961 bytes gzipped PostScript file.
|