# domain-specific language

A programming language tailored to a particular application domain rather than intended for general-purpose use.

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

## Why you should consider migrating your Gradle scripts to Kotlin DSL

DevFeed: [Why you should consider migrating your Gradle scripts to Kotlin DSL](<https://devfeed.tech/articles/why-you-should-consider-migrating-your-gradle-scripts-to-kotlin-dsl-39396.md>)

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

Published: 2023-05-10T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [domain-specific language](<https://devfeed.tech/topics/domain-specific-language.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [code-analysis](<https://devfeed.tech/tags/code-analysis.md>), [code-completion](<https://devfeed.tech/tags/code-completion.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [migrate](<https://devfeed.tech/tags/migrate.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This article explains Gradle Kotlin DSL, describing its benefits over Groovy-based Gradle scripts, including static typing, code completion, type-safe APIs, concise syntax, and improved maintainability. It also outlines steps for migrating build scripts to Kotlin DSL.

### Source excerpt

Discover the benefits of migrating your Gradle scripts to Kotlin DSL and streamline your development process.

## Error Handling in Kotlin with Arrow and Either

DevFeed: [Error Handling in Kotlin with Arrow and Either](<https://devfeed.tech/articles/a-birds-eye-view-of-arrow-error-handling-39300.md>)

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

Published: 2022-12-06T00:15:00Z

Content type: tutorial

Language: en

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

Topics: [Error Handling](<https://devfeed.tech/topics/error-handling.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Exception](<https://devfeed.tech/topics/exception.md>), [function](<https://devfeed.tech/topics/function.md>), [domain-specific language](<https://devfeed.tech/topics/domain-specific-language.md>)

Tags: [domain-specific-language](<https://devfeed.tech/tags/domain-specific-language.md>), [error-handling](<https://devfeed.tech/tags/error-handling.md>), [exception](<https://devfeed.tech/tags/exception.md>), [functions](<https://devfeed.tech/tags/functions.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This tutorial explains how functional Kotlin code can represent errors in return types instead of exceptions. It compares nullable values with explicit error handling and introduces Arrow DSLs based on continuations to provide a unified API for different error types.

### Source excerpt

Learn about Error Handling in Arrow, end how to effectively work with Either.

## 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.

## Writing First-Class Features: BDD and Gherkin.

DevFeed: [Writing First-Class Features: BDD and Gherkin.](<https://devfeed.tech/articles/writing-first-class-features-bdd-and-gherkin-34670.md>)

Original publisher: [Read original article](<http://fernandocejas.com/blog/engineering/2021-01-23-writing-first-class-features-bdd-gherkin/>)

Author: Fernando Cejas (me@fernandocejas.com)

Published: 2021-01-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Fernando Cejas Blog](<https://devfeed.tech/sources/fernando-cejas-blog.md>)

Topics: [Behavior-driven development](<https://devfeed.tech/topics/bdd.md>), [domain-specific language](<https://devfeed.tech/topics/domain-specific-language.md>), [Development](<https://devfeed.tech/topics/development.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [bdd](<https://devfeed.tech/tags/bdd.md>), [communication](<https://devfeed.tech/tags/communication.md>), [culture](<https://devfeed.tech/tags/culture.md>), [development](<https://devfeed.tech/tags/development.md>), [domain-specific-language](<https://devfeed.tech/tags/domain-specific-language.md>), [dsl](<https://devfeed.tech/tags/dsl.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [feature](<https://devfeed.tech/tags/feature.md>), [framework](<https://devfeed.tech/tags/framework.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [ios](<https://devfeed.tech/tags/ios.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [linux](<https://devfeed.tech/tags/linux.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [organization](<https://devfeed.tech/tags/organization.md>), [processes](<https://devfeed.tech/tags/processes.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scala](<https://devfeed.tech/tags/scala.md>), [software](<https://devfeed.tech/tags/software.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [web-development](<https://devfeed.tech/tags/web-development.md>), [writing](<https://devfeed.tech/tags/writing.md>)

### AI overview

The article explains how behavior-driven development (BDD) and the Gherkin domain-specific language can establish a shared vocabulary for writing software features. It presents BDD as a collaborative process involving developers, QA, and business participants, and describes how structured natural-language scenarios can express behavior and acceptance criteria.

### Source excerpt

As our product evolves, **there is the need to adopt a common vocabulary**, interpreted by all the moving parts of our organization: business users, analysts, managers, engineers, etc. **A technique like BDD and the Gherkin language can help us to achieve this goal**.