Programming DSLs in Kotlin
Book information
Description
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. 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 books
Functional Programming in Java: Harness the Power of Streams and Lambda Expressions
2023 · EPUB
Functional Programming in Java, Second Edition
2023 · EPUB
Programming DSLs in Kotlin
2021 · PDF
Programming DSLs in Kotlin
2021 · EPUB
Programming Kotlin: Create Elegant, Expressive, and Performant JVM and Android Applications
2019 · PDF
Programming Kotlin
2019 · EPUB
.NET gotchas : 75 ways to improve your C♯ and VB.NET programs
2005 · EPUB
Rediscovering JavaScript: Master ES6, ES7 and ES8
2018 · PDF