Indiana University Bloomington

School of Informatics and Computing

Technical Report TR737:
Strategies and Tradeoffs in Designing and Implementing Embedded DSLs

Thejaka Amila Kanewala
(Jun 2017), 10
[Submitted in Partial Satisfaction of the Requirements for the Ph.D Qualifying Examination in 2014]
Abstract:
Domain Specific Language (DSL) is an elegant software engineering solution to fairly complex problems in specific subject areas. While DSLs provide apt solutions to many domain problems, developing a DSL from the scratch is a laborious task that consumes considerable amount of money and time. Recently embedding has become a widely used methodology to develop DSLs. Embedded DSLs (EDSLs) reduces time and cost by reusing host programming language features such as parser, type checker, etc. In this paper we will go through various strategies used to embed a DSL into a general purpose programming language. Also we will discuss several implementation strategies for each embedding type and a comparison between different embedding strategies.

Available as: