DSL - gusenov/kb GitHub Wiki
- martinfowler.com/bliki/DomainSpecificLanguage.html
- Eclipse Modeling Project
- Embedded Domain Specific Language inherits the generic language constructs of its host language - sequencing, conditionals, iteration, functions, etc. - and adds domain-specific primitives that allow programmers to work at a much higher level of abstraction.
- okmij.org/ftp
- Tagless-Final Style is a method of embedding domain-specific languages (DSLs) in a typed functional host language such as Haskell, OCaml, Scala or Coq.
Wikipedia
Books
- Practical Scala DSLs. Real-World Applications Using Domain Specific Languages by Pierluigi Riti - 226 pages
- DSLs in Action by Debasish Ghosh - 376 pages
- Programming DSLs in Kotlin. Design Expressive and Robust Special Purpose Code by Venkat Subramaniam - 74 pages
- Software Language Engineering: Creating Domain-specific Languages Using Metamodels by Anneke G. Kleppe - 207 pages
- Domain Specific Languages by Martin Fowler, with Rebecca Parsons - 640 pages
- DSL Engineering by Markus Voelter - 558 pages
- Domain-Specific Languages in Practice (with JetBrains MPS) by Antonio Bucchiarone, Antonio Cicchetti, Federico Ciccozzi, Alfonso Pierantonio - 336 pages
- DSLs in Boo. Domain Specific Languages in .NET by Oren Eini writing as Ayende Rahien - 352 pages
- The Definitive ANTLR Reference. Building Domain-Specific Languages by by Terence Parr - 384 pages
- Groovy for Domain-Specific Languages. Extend and enhance your Java applications with Domain-Specific Languages in Groovy by Fergal Dearle - 312 pages
- ECLIPSE MODELING PROJECT. A Domain-Specific Language Toolkit by Richard C. Gronback - 736 pages
- Domain-Specific Languages in R. Advanced Statistical Programming by Thomas Mailund - 257 pages
- Domain-Specific Development with Visual Studio DSL Tools by Steve Cook, Gareth Jones, Stuart Kent, Alan Cameron Wills
Microsoft
- Microsoft Docs
- Visual Studio product family documentation
- Visual Studio documentation
- Visual Studio IDE documentation
- Modeling Architecture
- Analyze and model your architecture
- Code maps and dependency diagrams
- Modeling SDK for Visual Studio - Domain-Specific Languages
- Work with Domain-Specific Language Solutions
- Code Generation and T4 Text Templates
- Modeling Architecture
- Visual Studio IDE documentation
- Visual Studio documentation
- Visual Studio product family documentation
C++
- Boost.Proto Expression template library and compiler construction toolkit for domain-specific embedded languages.
MPS
Object Algebras
- Using Object Algebras To Design Embedded Domain Specific Languages by Julien Richard-Foy
- Object algebras have very interesting properties and are yet underused for defining embedded DSLs. Object algebras allow the developer to define embedded DSLs in an extensible and modular way: DSLs can be broken down into independent pieces and can have several independent interpretations. Furthermore, with object algebras it is easy to define families of DSLs, that is, DSLs that specialize other DSLs. Finally, the cost of interpretation is cheap because there is no intermediate representation. This talk shows how to design such DSLs in Scala, and exercises the aforementioned features on a practical example: a DSL describing HTTP APIs in which one can derive clients, servers and documentation.
- YouTube
- Object Algebras Composition by Manuel Leduc