TY - JOUR
T1 - Domain specific language implementation via compile-time meta-programming
AU - Tratt, Laurence
N1 - Copyright 2008 Elsevier B.V., All rights reserved.
PY - 2008/10
Y1 - 2008/10
N2 - Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable tool for software developers and non-developers alike. DSLs must currently be created in an ad-hoc fashion, often leading to high development costs and implementations of variable quality. In this article, I show how expressive DSLs can be hygienically embedded in the Converge programming language using its compile-time meta-programming facility, the concept of DSL blocks, and specialised error reporting techniques. By making use of pre-existing facilities, and following a simple methodology, DSL implementation costs can be significantly reduced whilst leading to higher quality DSL implementations.
AB - Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable tool for software developers and non-developers alike. DSLs must currently be created in an ad-hoc fashion, often leading to high development costs and implementations of variable quality. In this article, I show how expressive DSLs can be hygienically embedded in the Converge programming language using its compile-time meta-programming facility, the concept of DSL blocks, and specialised error reporting techniques. By making use of pre-existing facilities, and following a simple methodology, DSL implementation costs can be significantly reduced whilst leading to higher quality DSL implementations.
U2 - 10.1145/1391956.1391958
DO - 10.1145/1391956.1391958
M3 - Article
AN - SCOPUS:56349147876
SN - 0164-0925
VL - 30
JO - ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
JF - ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
IS - 6
M1 - 31
ER -