Abstract
Historically, programming languages have been—benevolent—dictators: reducing all possible semantics to specific ones offered by a few built-in language constructs. Over the years, some programming languages have freed the programmers from the restrictions to use only built-in libraries, built-in data types, and builtin type-checking rules. Even though—arguably—such freedom could lead to anarchy, or people shooting themselves in the foot, the contrary tends to be the case: a language that does not allow for extensibility is depriving software engineers of the ability to construct proper abstractions and to structure software in the most optimal way. Therefore the software becomes less structured and maintainable than would be possible if the software engineer could express the behavior of the program with the most appropriate abstractions. The idea proposed by this paper is to move composition from built-in language constructs to programmable, first-class abstractions in a language. We discuss several prototypes of the Co-op language, which show that it is possible, with a relatively simple model, to express a wide range of compositions as first-class concepts.
| Original language | English |
|---|---|
| Title of host publication | Proceedings of the 7th International Conference on Software Paradigm Trends, ICSOFT 2012 |
| Publisher | SCITEPRESS |
| Pages | 388-393 |
| Number of pages | 6 |
| ISBN (Print) | 978-989-8565-19-8 |
| DOIs | |
| Publication status | Published - Jul 2012 |
| Event | 7th International Conference on Software Paradigm Trends, ICSOFT 2012 - Rome, Italy Duration: 24 Jul 2012 → 27 Jul 2012 Conference number: 7 http://www.icsoft-pt.org/?y=2012 |
Conference
| Conference | 7th International Conference on Software Paradigm Trends, ICSOFT 2012 |
|---|---|
| Abbreviated title | ICSOFT |
| Country/Territory | Italy |
| City | Rome |
| Period | 24/07/12 → 27/07/12 |
| Internet address |
Keywords
- Language design
- Free composition
- Software composition
- Language engineering