A polymorphic type system for PROLOG.
Artificial Intelligence
Algebraic laws for nondeterminism and concurrency
Journal of the ACM (JACM)
Building domain-specific embedded languages
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
backus normal form vs. Backus Naur form
Communications of the ACM
Designing components versus objects: a transformational approach
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
A Calculus of Communicating Systems
A Calculus of Communicating Systems
On Observing Nondeterminism and Concurrency
Proceedings of the 7th Colloquium on Automata, Languages and Programming
Guest Editors' Introduction: Model-Driven Development
IEEE Software
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Evolving an embedded domain-specific language in Java
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Model-Driven Software Development: Technology, Engineering, Management
Model-Driven Software Development: Technology, Engineering, Management
The design and implementation of typed scheme
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
ICLP '08 Proceedings of the 24th International Conference on Logic Programming
ModelTalk: When Everything Is a Domain-Specific Language
IEEE Software
The spoofax language workbench: rules for declarative specification of languages and IDEs
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Designing language-oriented programming languages
Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion
Code reuse with language oriented programming
ICSR'11 Proceedings of the 12th international conference on Top productivity through software reuse
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
Language-oriented modularity through awesome DSALs: summary of invited talk
Proceedings of the seventh workshop on Domain-Specific Aspect Languages
A debug interface for debugging multiple domain specific aspect languages
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
Do we really need to extend syntax for advanced modularity?
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
mbeddr: an extensible C-based programming language and IDE for embedded systems
Proceedings of the 3rd annual conference on Systems, programming, and applications: software for humanity
Source code management for projectional editing
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Hi-index | 0.00 |
Language Oriented Programming (LOP) is a paradigm that puts domain specific programming languages (DSLs) at the center of the software development process. Currently, there are three main approaches to LOP: (1) the use of internal DSLs, implemented as libraries in a given host language; (2) the use of external DSLs, implemented as interpreters or compilers in an external language; and (3) the use of language workbenches, which are integrated development environments (IDEs) for defining and using external DSLs. In this paper, we contribute: (4) a novel language-oriented approach to LOP for defining and using internal DSLs. While language workbenches adapt internal DSL features to overcome some of the limitations of external DSLs, our approach adapts language workbench features to overcome some of the limitations of internal DSLs. We introduce Cedalion, an LOP host language for internal DSLs, featuring static validation and projectional editing. To validate our approach we present a case study in which Cedalion was used by biologists in designing a DNA microarray for molecular Biology research.