When compiling embedded languages it is natural to use an abstract syntax tree to represent programs. This is known as a deep embedding and it is a rather cumbersome technique compared to other forms of embedding, typically leading to more code and being harder to extend. In shallow embeddings, language constructs are mapped directly to their semantics which yields more flexible and succinct implementations. But shallow embeddings are not well-suited for compiling embedded languages. We present a technique to combine deep and shallow embedding in the context of compiling embedded languages in order to provide the benefits of both techniques. In particular it helps keeping the deep embedding small and it makes extending the embedded language...
Modern dynamic programming languages provide various mechanisms to implement embedded domain-specifi...
When compiling Embedded Domain Specific Languages (EDSLs) into other languages, the compiler transla...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...
When compiling embedded languages it is natural to use an abstract syntax tree to represent programs...
We present a technique to combine deep and shallow embedding in the context of compiling embedded la...
Deep and shallow embeddings are two popular techniques for embedding a language in a host language w...
Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for...
AbstractEmbedding is the process of implementing a language by defining functions in an existing “ho...
Functional languages are particularly well-suited to the implementation of interpreters for domain-s...
Embedded domain-specific languages (DSLs) are a new light-weight approach to implement DSLs with low...
In the recent years, there is an increasing interest for new programming languages that are special ...
Embedded domain-specifi�c languages (EDSLs) are known to improve the productivity of developers. ...
Embedded domain-specific languages (EDSLs) are known to improve the productivity of developers. Howe...
Embedding describes the process of encoding a program\u27s syntax and/or semantics in another langua...
We describe an experiment in the use of domain-specific embedded languages for program generation. S...
Modern dynamic programming languages provide various mechanisms to implement embedded domain-specifi...
When compiling Embedded Domain Specific Languages (EDSLs) into other languages, the compiler transla...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...
When compiling embedded languages it is natural to use an abstract syntax tree to represent programs...
We present a technique to combine deep and shallow embedding in the context of compiling embedded la...
Deep and shallow embeddings are two popular techniques for embedding a language in a host language w...
Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for...
AbstractEmbedding is the process of implementing a language by defining functions in an existing “ho...
Functional languages are particularly well-suited to the implementation of interpreters for domain-s...
Embedded domain-specific languages (DSLs) are a new light-weight approach to implement DSLs with low...
In the recent years, there is an increasing interest for new programming languages that are special ...
Embedded domain-specifi�c languages (EDSLs) are known to improve the productivity of developers. ...
Embedded domain-specific languages (EDSLs) are known to improve the productivity of developers. Howe...
Embedding describes the process of encoding a program\u27s syntax and/or semantics in another langua...
We describe an experiment in the use of domain-specific embedded languages for program generation. S...
Modern dynamic programming languages provide various mechanisms to implement embedded domain-specifi...
When compiling Embedded Domain Specific Languages (EDSLs) into other languages, the compiler transla...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...