Title
DSL implementation using staging and monads
Abstract
The impact of Domain Specific Languages (DSLs) on software design is considerable. They allow programs to be more concise than equivalent programs written in a high-level programming languages. They relieve programmers from making decisions about data-structure and algorithm design, and thus allows solutions to be constructed quickly. Because DSL's are at a higher level of abstraction they are easier to maintain and reason about than equivalent programs written in a high-level language, and perhaps most importantly they can be written by domain experts rather than programmers. The problem is that DSL implementation is costly and prone to errors, and that high level approaches to DSL implementation often produce inefficient systems. By using two new programming language mechanisms, program staging and monadic abstraction, we can lower the cost of DSL implementations by allowing reuse at many levels. These mechanisms provide the expressive power that allows the construction of many compiler components as reusable libraries, provide a direct link between the semantics and the low-level implementation, and provide the structure necessary to reason about the implementation.
Year
DOI
Venue
1999
10.1145/331963.331975
Proceedings of the 2nd conference on Domain-specific languages
Keywords
Field
DocType
data structure,algorithm design,programming language,domain specific language,software design,high level language,expressive power
Domain-specific language,Software design,Programming language,Computer science,Digital subscriber line,Theoretical computer science,Compiler,Implementation,Low-level programming language,Semantics,Programming language implementation
Conference
Volume
Issue
ISSN
35
1
0362-1340
ISBN
Citations 
PageRank 
1-58113-255-7
20
2.23
References 
Authors
18
3
Name
Order
Citations
PageRank
Tim Sheard11691460.87
Zine-El-Abidine Benaissa218013.67
Emir Pasalic319255.42