Title
Yin-yang: concealing the deep embedding of DSLs
Abstract
Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for improved program performance. Shallow EDSLs complement them by trading program performance for good programmer experience. We present Yin-Yang, a framework for DSL embedding that uses Scala macros to reliably translate shallow EDSL programs to the corresponding deep EDSL programs. The translation allows program prototyping and development in the user friendly shallow embedding, while the corresponding deep embedding is used where performance is important. The reliability of the translation completely conceals the deep em- bedding from the user. For the DSL author, Yin-Yang automatically generates the deep DSL embeddings from their shallow counterparts by reusing the core translation. This obviates the need for code duplication and leads to reliability by construction.
Year
DOI
Venue
2014
10.1145/2658761.2658771
Sigplan Notices
Keywords
DocType
Volume
deep embedding,shallow embedding,language constructs and features,embedded domain-specific languages,reflection,macros
Conference
50
Issue
ISSN
Citations 
3
0362-1340
14
PageRank 
References 
Authors
0.62
23
6
Name
Order
Citations
PageRank
Vojin Jovanovic11035.03
Amir Shaikhha2377.31
Sandro Stucki3211.93
Vladimir Nikolaev4140.62
Christoph Koch52817163.43
Martin Odersky62261170.39