# Domain Specific Languages

Published articles for Domain Specific Languages.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Article: Your Next DSL Author Is a Language Model

DevFeed: [Article: Your Next DSL Author Is a Language Model](<https://devfeed.tech/articles/article-your-next-dsl-author-is-a-language-model-30907.md>)

Original publisher: [Read original article](<https://www.infoq.com/articles/next-dsl-author-language-model/>)

Author: Irakli Betchvaia

Published: 2026-09-16T11:00:00Z

Content type: article

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Infrastructure as code](<https://devfeed.tech/topics/infrastructure-as-code.md>), [Retrieval Augmented Generation (RAG)](<https://devfeed.tech/topics/retrieval-augmented-generation-rag.md>), [Code](<https://devfeed.tech/topics/code.md>), [Fable](<https://devfeed.tech/topics/fable.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-ml-data-engineering](<https://devfeed.tech/tags/ai-ml-data-engineering.md>), [article](<https://devfeed.tech/tags/article.md>), [artificial-intelligence](<https://devfeed.tech/tags/artificial-intelligence.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [development](<https://devfeed.tech/tags/development.md>), [domain-specific-languages](<https://devfeed.tech/tags/domain-specific-languages.md>), [dsls](<https://devfeed.tech/tags/dsls.md>), [hallucinations](<https://devfeed.tech/tags/hallucinations.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [large-language-model](<https://devfeed.tech/tags/large-language-model.md>), [large-language-models](<https://devfeed.tech/tags/large-language-models.md>), [ml-data-engineering](<https://devfeed.tech/tags/ml-data-engineering.md>), [next-dsl-author-language-model](<https://devfeed.tech/tags/next-dsl-author-language-model.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

The article introduces Typed Domain Grounding (TDG), which embeds a domain-specific language as a typed internal DSL in a mainstream host language. It argues that compiler type errors and generate-compile-repair loops can reduce syntactic hallucinations in language-model output. A benchmark reported higher Structural Fidelity and lower hallucination rates than two lenient external DSLs, although first-try compile rates were lower and results varied by model.

### Source excerpt

In this article, the author introduces Typed Domain Grounding, an approach to reducing LLM hallucinations in domain-specific languages by embedding them in mainstream typed languages. Using kUML benchmarks and an infrastructure-as-code example, he explores how compiler validation and generate-compile-repair loops can make model-generated DSL output more reliable. By Irakli Betchvaia

## A Failed XML-Based DSL Design Using a Large Regular Expression

DevFeed: [A Failed XML-Based DSL Design Using a Large Regular Expression](<https://devfeed.tech/articles/best-of-classic-wtf-a-dumbain-specific-language-28506.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/classic-wtf-a-dumbain-specific-language>)

Author: Remy Porter

Published: 2026-09-07T06:30:00Z

Content type: opinion

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [XML](<https://devfeed.tech/topics/xml.md>), [Structured-data](<https://devfeed.tech/topics/structured-data.md>), [bug](<https://devfeed.tech/topics/bug.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [best-of](<https://devfeed.tech/tags/best-of.md>), [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [domain-specific-languages](<https://devfeed.tech/tags/domain-specific-languages.md>), [dsls](<https://devfeed.tech/tags/dsls.md>), [regex](<https://devfeed.tech/tags/regex.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

The article revisits a failed attempt to build a domain-specific language with XML schemas and a 1,310-character regular expression. It describes a bug in the expression and criticizes the resulting design as an unsuccessful effort to save labor.

### Source excerpt

It's a holiday here in the US, a celebration of labor, so we're reaching back through the archives for a story about an attempt to be labor saving that was not successful. Original. --Remy I've had to write a few domain-specific-languages in the past. As per Remy's Law of Requirements Gathering, it's been mostly because the users needed an Excel-like formula language. The danger of DSLs, of course, is that they're often YAGNI in the extreme, or at least a sign that you don't really understand your problem. XML, coupled with schemas, is a tool for building data-focused DSLs. If you have some complex structure, you can convert each of its features into an XML attribute. For example, if you had a grammar that looked something like this: The Source specification obeys the following syntax source = ( Feature1+Feature2+... ":" ) ? steps Feature1 = "local" | "global" Feature2 ="real" | "virtual" | "ComponentType.all" Feature3 ="self" | "ancestors" | "descendants" | "Hierarchy.all" Feature4 = "first" | "last" | "DayAllocation.all" If features are specified, the order of features as given above has strictly to be followed. steps = oneOrMoreNameSteps | zeroOrMoreNameSteps | componentSteps oneOrMoreNameSteps = nameStep ( "." nameStep ) * zeroOrMoreNameSteps = ( nameStep "." ) * nameStep = "#" name name is a string of characters from "A"-"Z", "a"-"z", "0"-"9", "-" and "_". No umlauts allowed, one character is minimum. componentSteps is a list of valid values, see below. Valid 'componentSteps' are: - GlobalValue - Product - Product.Brand - Product.Accommodation - Product.Accommodation.SellingAccom - Product.Accommodation.SellingAccom.Board - Product.Accommodation.SellingAccom.Unit - Product.Accommodation.SellingAccom.Unit.SellingUnit - Product.OnewayFlight - Product.OnewayFlight.BookingClass - Product.ReturnFlight - Product.ReturnFlight.BookingClass - Product.ReturnFlight.Inbound - Product.ReturnFlight.Outbound - Product.Addon - Product.Addon.Service - Product.Addon.ServiceFeatu

## DSL type-safe builders

DevFeed: [DSL type-safe builders](<https://devfeed.tech/articles/dsl-type-safe-builders-39303.md>)

Original publisher: [Read original article](<https://kt.academy/article/fk-dsl>)

Published: 2022-09-09T00:04:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [domain-specific language](<https://devfeed.tech/topics/domain-specific-language.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [React](<https://devfeed.tech/topics/react.md>), [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [JavaFX](<https://devfeed.tech/topics/javafx.md>)

Tags: [domain-specific-language](<https://devfeed.tech/tags/domain-specific-language.md>), [domain-specific-languages](<https://devfeed.tech/tags/domain-specific-languages.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [programming](<https://devfeed.tech/tags/programming.md>), [swift](<https://devfeed.tech/tags/swift.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [type](<https://devfeed.tech/tags/type.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

A tutorial on type-safe DSL builders in Kotlin. It explains how Gradle configurations moved from Groovy toward Kotlin DSLs, covering static typing, editor suggestions, typo detection, helper functions, classes, and lambda expressions. It also discusses DSL use in React, backend HTML, SwiftUI, Jetpack Compose, and desktop applications.

### Source excerpt

How to define type-safe DSL builders in Kotlin.

## Creating Kotlin DSLs

DevFeed: [Creating Kotlin DSLs](<https://devfeed.tech/articles/creating-kotlin-dsls-29115.md>)

Original publisher: [Read original article](<https://www.grokkingandroid.com/creating-kotlin-dsls/>)

Author: Wolfram Rittmeyer

Published: 2018-12-29T03:05:09Z

Content type: tutorial

Language: en

Sources: [Grokking Android](<https://devfeed.tech/sources/grokking-android.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [domain-specific-languages](<https://devfeed.tech/tags/domain-specific-languages.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [dsls](<https://devfeed.tech/tags/dsls.md>), [extension](<https://devfeed.tech/tags/extension.md>), [groovy](<https://devfeed.tech/tags/groovy.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [languages](<https://devfeed.tech/tags/languages.md>), [scala](<https://devfeed.tech/tags/scala.md>), [sql](<https://devfeed.tech/tags/sql.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>), [unit-tests](<https://devfeed.tech/tags/unit-tests.md>), [yaml](<https://devfeed.tech/tags/yaml.md>)

### AI overview

This article explains how Kotlin can be used to create internal domain-specific languages by combining core language features. It distinguishes internal DSLs from external DSLs and discusses benefits such as concise, readable APIs, with examples including Gradle and KotlinTest.

### Source excerpt

Kotlin has many nice things going for it - be it null safety, data classes, extension functions, immutable collections or many other things. For me one additional thing is very interesting: The ability to create domain specific languages (DSLs) easily. Easily, because creating a DSL with Kotlin means that you simply choose to combine several [...] Continue Reading "Creating Kotlin DSLs" The post Creating Kotlin DSLs appeared first on Grokking Android.

## The Ruby Programming Language

DevFeed: [The Ruby Programming Language](<https://devfeed.tech/articles/the-ruby-programming-language-27770.md>)

Original publisher: [Read original article](<https://gagor.pro/book/2015/the-ruby-programming-language/>)

Author: Tom

Published: 2015-08-13T00:00:00Z

Content type: article

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [design-patterns](<https://devfeed.tech/tags/design-patterns.md>), [domain-specific-languages](<https://devfeed.tech/tags/domain-specific-languages.md>), [dsls](<https://devfeed.tech/tags/dsls.md>), [internals](<https://devfeed.tech/tags/internals.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

A review of The Ruby Programming Language, co-authored by Yukihiro Matsumoto. The book provides a detailed explanation of Ruby's core, architecture, internals, and suitability for building domain-specific languages, but its technical depth makes it difficult for beginners and less practical for day-to-day learning.

### Source excerpt

Ruby Programowanie Authors: David Flanagan, Yukihiro Matsumoto I picked up this book, co-authored by Ruby creator Yukihiro "Matz" Matsumoto, to learn Ruby for my work with Chef. As a deep dive into the language's internals, it brilliantly explains why Ruby is a top choice for creating Domain-Specific Languages (DSLs) like those used in Vagrant and Chef. The book meticulously covers the language's core, which gave me a solid understanding of its architecture.