A module system for domain-specific languages
From MaRDI portal
Abstract: Domain-specific languages (DSLs) are routinely created to simplify difficult or specialized programming tasks. They expose useful abstractions and design patterns in the form of language constructs, provide static semantics to eagerly detect misuse of these constructs, and dynamic semantics to completely define how language constructs interact. However, implementing and composing DSLs is a non-trivial task, and there is a lack of tools and techniques. We address this problem by presenting a complete module system over LP for DSL construction, reuse, and composition. LP is already useful for DSL design, because it supports executable language specifications using notations familiar to language designers. We extend LP with a module system that is simple (with a few concepts), succinct (for key DSL specification scenarios), and composable (on the level of languages, compilers, and programs). These design choices reflect our use of LP for industrial DSL design. Our module system has been implemented in the FORMULA language, and was used to build key Windows 8 device drivers via DSLs. Though we present our module system as it actually appears in our FORMULA language, our emphasis is on concepts adaptable to other LP languages.
Recommendations
Cites work
Cited in
(10)- Design for proof: An approach to the design of domain-specific languages
- Modular design of domain-specific languages using splittings of catamorphisms
- Modular programming languages. Joint modular languages conference, JMLC 2003, Klagenfurt, Austria, August 25--27, 2003. Proceedings.
- The Design and Implementation of SPARK, a Toolkit for Implementing Domain-Specific Languages
- Amalgamation of domain specific languages with behaviour
- scientific article; zbMATH DE number 2080278 (Why is no real title available?)
- A domain-specific language and editor for parallel particle methods
- scientific article; zbMATH DE number 1926608 (Why is no real title available?)
- Dynamic symbolic computation for domain-specific language implementation
- Formal attributes traceability in modular language development frameworks
This page was built for publication: A module system for domain-specific languages
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q2931279)