Hostname: page-component-74656f9884-54qdv Total loading time: 0 Render date: 2026-11-10T12:07:05.897Z Has data issue: false hasContentIssue false

A Module System for Domain-Specific Languages

Published online by Cambridge University Press:  21 July 2014

ETHAN K. JACKSON*
Affiliation:
Research In Software Engineering (RiSE), Microsoft Research, Redmond, WA, USA 98052 (e-mail: ejackson@microsoft.com)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

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.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2014 
Supplementary material: PDF

JACKSON

A Module System for Domain-Specific Languages

Download JACKSON(PDF)
PDF 146.2 KB