Programming DSLs in Kotlin
by: Venkat Subramaniam
ASIN: B0915P5JH1
ISBN-13: 9781680507935
Publisher finelybook 出版社: Pragmatic Bookshelf; 1st edition (March 23,2021)
Publication date: March 23,2021
Language 语言: English
Print Length 页数: 110 pages
Book Description
By finelybook
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.
Internal DSLs remove the burdens of implementing a full blown language compiler. The host language quickly becomes your ally to creating DSLs,but the syntax you can choose for your DSLs is limited to what the host language allows. You can work around the limitations by: tactfully bending the rules and exploiting the language capabilities. Learn the power of Kotlin and ways to design with it,in the context of crafting internal DSLs
Start by: learning ways to exploit the flexibilities of Kotlin to make your DSLs fluent,expressive,and concise. Then pick up techniques to extend the language with domain specific properties and functions. Quickly move ahead to tie your DSL snippets into the runtime environment and context of execution of your applications. Design to prevent any non-sensical syntax in your DSL that may otherwise be valid in the host language. Finally,learn techniques to gracefully handle errors. Practice using the multiple examples that are included in each chapter.
Fire up your editor and follow along each example to become proficient in designing and implementing your own internal DSLs using Kotlin.
What You Need:
Kotlin version 1.3 or later and your favorite Kotlin IDE or code editor.
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
Programming DSLs in Kotlin 9781680507935.zip