Deeply embedded domain-specific languages (EDSLs) intrinsically compromise programmer experience for improved program per-formance. 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 reli-ably 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 cor-responding 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 ...
Domain-Specific Languages (DSLs) manifest themselves in remarkably diverse shapes, ranging from inte...
textabstractDomain-specific languages (DSLs) are languages tailored to a specific application domain...
Domain-Specific Languages (DSLs) allow building software applications by simplifying the labour of b...
When compiling embedded languages it is natural to use an abstract syntax tree to represent programs...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...
The influential pure embedding methodology of embedding domain-specific languages (DSLs) as librarie...
Abstract Scala-Virtualized extends the Scala language to better support hosting em-bedded DSLs. Scal...
We present a technique to combine deep and shallow embedding in the context of compiling embedded la...
Abstract—Domain-specific languages (DSLs) require IDE sup-port, just like ordinary programming langu...
International audienceDomain-specific languages (DSLs) require IDE support, just like ordinary progr...
Domain-specific languages (DSLs) require IDE support, just like ordinary programming languages. This...
Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable t...
AbstractAn increasingly wide range of tools based on different approaches are being used to implemen...
Languages shape thoughts. This is true for human spoken languages as much as for programming languag...
In the recent years, there is an increasing interest for new programming languages that are special ...
Domain-Specific Languages (DSLs) manifest themselves in remarkably diverse shapes, ranging from inte...
textabstractDomain-specific languages (DSLs) are languages tailored to a specific application domain...
Domain-Specific Languages (DSLs) allow building software applications by simplifying the labour of b...
When compiling embedded languages it is natural to use an abstract syntax tree to represent programs...
Abstract Scala-Virtualized extends the Scala language to better support hosting embedded DSLs. Scala...
The influential pure embedding methodology of embedding domain-specific languages (DSLs) as librarie...
Abstract Scala-Virtualized extends the Scala language to better support hosting em-bedded DSLs. Scal...
We present a technique to combine deep and shallow embedding in the context of compiling embedded la...
Abstract—Domain-specific languages (DSLs) require IDE sup-port, just like ordinary programming langu...
International audienceDomain-specific languages (DSLs) require IDE support, just like ordinary progr...
Domain-specific languages (DSLs) require IDE support, just like ordinary programming languages. This...
Domain specific languages (DSLs) are mini-languages that are increasingly seen as being a valuable t...
AbstractAn increasingly wide range of tools based on different approaches are being used to implemen...
Languages shape thoughts. This is true for human spoken languages as much as for programming languag...
In the recent years, there is an increasing interest for new programming languages that are special ...
Domain-Specific Languages (DSLs) manifest themselves in remarkably diverse shapes, ranging from inte...
textabstractDomain-specific languages (DSLs) are languages tailored to a specific application domain...
Domain-Specific Languages (DSLs) allow building software applications by simplifying the labour of b...