University of Minnesota
Software Engineering Center

You are here

Intentional programming: a host of language features

Date of Publication: 
January 2001
Associated Research Groups: 
Publication Files: 
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; 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.
Techincal Report PRG-RR-01-21, Computing Laboratory, University of Oxford
@techreport{IPtechrept, author = "Van Wyk, E. and de Moor, O. and Sittampalam, G. and Sanabria-Piretti, I. and Backhouse, K. and Kwiatkowski, P.", title = "Intentional Programming: a Host of Language Features", institution = "Computing Laboratory, University of Oxford", organiztion = "Computing Laboratory", number = "PRG-RR-01-21", year = 2001 }