Everything about Domain-specific language
Programming language specialized to a specific application domain
A domain-specific language (DSL) is a programming language specialized to a specific application domain. This is in contrast to a general-purpose programming language, which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages, such as SQL, down to languages used by only one or a few pieces of software, such as MUSH soft code. Simpler DSLs, specifically ones used by a single application, are sometimes informally called mini-languages. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Domain-specific languageA 5-minute orientation
- Skim a recent paper: Domain-specific language models pre-trained on construction management systems corporaInfluential work since 2022
- Pick up a classic book: Domain EngineeringThe most-reprinted book on the subject
- Read the landmark paper: Domain-Specific Language Model Pretraining for Biomedical Natural Language ProcessingCited 1,538 times
- Go sideways: Language workbenchA closely related topic
- Go sideways: JetBrains MPSA closely related topic
📖 Definitions
Noun A programming or specification language that is dedicated to a particular problem domain, a particular problem representation or solution technique.
🏆 Landmark papers (most cited)
Domain-Specific Language Model Pretraining for Biomedical Natural Language Processing
Domain-Specific Language Design Requires Feature Descriptions
Pretrained domain-specific language model for natural language processing tasks in the AEC domain
Language-related domain-specific and domain-general systems in the human brain
A domain-specific visual language for domain model evolution
Simplicity and Specificity in Language: Domain-General Biases Have Domain-Specific Effects
Habitation: A Domain-Specific Language for Home Automation
Is susceptibility to cross-language interference domain specific?
🆕 Influential since 2022
Domain-specific language models pre-trained on construction management systems corpora
Automating Research Synthesis with Domain-Specific Large Language Model Fine-Tuning
Domain‐general and domain‐specific functional networks of Broca's area underlying language processing
Large Language Models and Rule-Based Approaches in Domain-Specific Communication
A domain-specific language for describing machine learning datasets
📚 Books worth reading
Domain EngineeringIris Reinhartz-Berger, Arnon Sturm · 2013
Implementing Domaindriven DesignVaughn Vernon · 2012- 📕Semantics engineering with PLT RedexMatthias Felleisen · 2009
DSLs in actionDebasish Ghosh · 2010- 📕Clojure for Domain-Specific LanguagesRyan D. Kelker · 2013
Gradle in ActionBenjamin Muschko · 2014
Domain-Specific LanguagesMartin Fowler · 2010
Language Implementation PatternsTerence Parr · 2009
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Language workbench A language workbench is a tool or set of tools that enables software development in the language-oriented programming software development paradigm. A…
- JetBrains MPS JetBrains MPS (Meta Programming System) is a language workbench developed by JetBrains. MPS is a tool to design domain-specific languages (DSL). It uses…
- Preprocessor In computer science, a preprocessor (or precompiler) is a program that processes its input data to produce output that is used as input in another program…
- Domain-specific multimodeling Domain-specific multimodeling is a software development paradigm where each view is made explicit as a separate domain-specific language (DSL). Successful…
- ANTLR In computer-based language recognition, ANTLR (pronounced antler), or ANother Tool for Language Recognition, is a parser generator that uses a LL(*) algorithm…
- Language-oriented programming Language-oriented programming (LOP) is a software-development paradigm where "language" is a software building block with the same status as objects, modules…
- General-purpose programming language In computer software, a general-purpose programming language (GPL) is a programming language for building software in a wide variety of application domains…
- Scripting language In computing, a script is a relatively short and simple set of instructions that typically automate an otherwise manual process. The act of writing a script…