Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Implementing feature variability for models and code with projectional language workbenches
FOSD '10 Proceedings of the 2nd International Workshop on Feature-Oriented Software Development
Designing language-oriented programming languages
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Cedalion: a language for language oriented programming
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Cedalion 101: "i want my DSL now"
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
A case study of language oriented programming with cedalion: [extended abstract]
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Hi-index | 0.00 |
There is a gap between our ability to reuse high-level concepts in software design and our ability to reuse the code implementing them. Language Oriented Programming (LOP) is a software development paradigm that aims to close this gap, through extensive use of Domain Specific Languages (DSLs). With LOP, the high-level reusable concepts become reusable DSL constructs, and their translation into code level concepts is done in the DSL implementation. Particular products are implemented using DSL code, thus reusing only high-level concepts. In this paper we provide a comparison between two implementation approaches for LOP: (a) using external DSLs with a projectional language workbench (MPS); and (b) using internal DSLs with an LOP language (Cedalion). To demonstrate how reuse is achieved in each approach, we present a small case study, where LOP is used to build a Software Product Line (SPL) of calculator software.