Creating your own domain-specific languages (DSLs) is both challenging and exhilarating. DSLs give users a way to interact with your applications more effectively, and Kotlin is a fantastic language to serve as a host for internal DSLs, because it greatly reduces the pain and effort of design and de
Programming DSLs in Kotlin
β Scribed by Venkat Subramaniam
- Publisher
- The Pragmatic Bookshelf
- Year
- 2020
- Tongue
- English
- Leaves
- 74
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Creating your own domain-specific languages (DSLs) is both challenging and exhilarating. DSLs give users a way to interact with your applications more effectively, and Kotlin is a fantastic language to serve as a host for internal DSLs, because it greatly reduces the pain and effort of design and development. But implementing DSLs on top of Kotlin requires understanding the key strengths of the language and knowing how to apply them appropriately. Learn to avoid the pitfalls and leverage the language while creating your own elegant, fluent, concise, and robust DSLs using Kotlin.
β¦ Table of Contents
Cover
Table of Contents
Acknowledgments
Preface
Who Is This Book For?
Whatβs in This Book?
Online Resources
1. Introduction
Focus on the Key Characteristics
Kotlin as a Host Language
Steps to Program DSLs
2. Exploit Fluency
Remove Noisy Syntax
Design for Fluency
Make Syntax Obvious
Use Conventions to Improve Fluency
3. Get Domain Specific
Use Domain-Specific Extension Functions
Create Extension Operators
Use Domain-Specific Operators
Use invoke to Remove Redundant Syntax
4. Provide Contexts
Provide Context for Variables
Design for Separate Implicit Contexts
Use the Default Lambda Parameter Name for Context
Use Multiple Contexts to Remove Ambiguity
Use Inner Classes to Share State Between Contexts
5. Manage Scope and Handle Errors
Leverage the Compiler
Leverage Type Checking
Restrict Scope of Functions
Control Scope with DslMarker
Proactively Handle Errors
6. Practice with Examples
Letβs Design a Builder
Devise Ways to Run DSLs from External Sources
Bibliography
π SIMILAR VOLUMES
<p>Creating your own domain-specific languages (DSLs) is both challenging and exhilarating. DSLs give users a way to interact with your applications more effectively, and Kotlin is a fantastic language to serve as a host for internal DSLs, because it greatly reduces the pain and effort of design and
Master techniques and concepts of functional programming to deliver safer, simpler, and more effective Kotlin code. In Functional Programming in Kotlin you will learn: β’ Functional programming techniques for real-world applications β’ Write combinator libraries β’ Common structures and idioms
<b>Master techniques and concepts of functional programming to deliver safer, simpler, and more effective Kotlin code.</b> In <i>Functional Programming in Kotlin</i> you will learn: Β Β Β Functional programming techniques for real-world applications Β Β Β Write combinator libraries Β Β Β Common
<b>Master techniques and concepts of functional programming to deliver safer, simpler, and more effective Kotlin code.</b> In <i>Functional Programming in Kotlin</i> you will learn: Β Β Β Functional programming techniques for real-world applications Β Β Β Write combinator libraries Β Β Β Common