KotlinFest 2019 CfP に応募した
Deep Dive into Kotlin DSL
DSL の話から Kotlin DSL (Gradle Kotlin DSL じゃないよ)について触れ、自分たちでも DSL を構築する方法を知る・構築できるようになることを目的とした発表です。
日本語で出したんですが、英語発表でもいいよと書いておきました。(英語発表がどの程度欲しい・採択するつもりなのか分からなかったので)
この発表では DSL の基礎から Kotlin DSL における拡張表現や開発方法まで踏み込んで発表します。 また Kotlin DSL の実例として - Gradle Kotlin DSL - Ktor or DOM (like React) - Android Jetpack Compose あたりを取り上げて、どのように Kotlin DSL が作用し、Java/Groovy ではなぜ出来ないのかについても触れたいと思います。 Topics (予定) - What's domain-specific language and Kotlin DSL? - Let you know real examples of Kotlin DSL - Getting started understanding and developing DSL - What's the *primitive* DSL - The power of *Lambda* in DSL world - Typesafe builder and Kotlin DSL - Syntactic extension - Extension method e.g. Gradle Kotlin DSL - Operator overloading e.g. Ktor - Infix operator based Fluent style e.g. Assertion libraries - DSLMarker and implicit receiver resolution e.g. Jetpack Compose - For DSL users - Adapt Kotlin DSL to existing libraries - For DSL developers - How to keep both usabilities of Kotlin DSL and other JVM languages - Examples in Gradle Kotlin DSL
英語なら以下みたいな感じ。
In this presentation, I will talk about the basis and practical application of Kotlin DSL in achieving attendees will be able to develop Kotlin DSL. I will pick up the following examples to explain how Kotlin DSL work and why Java/Groovy are not enough or not good at doing so. - Gradle Kotlin DSL - Ktor or DOM (like React) - Android Jetpack Compose Topics (just a plan) - What's domain-specific language and Kotlin DSL? - Let you know real examples of Kotlin DSL - Getting started understanding and developing DSL - What's the *primitive* DSL - The power of *Lambda* in DSL world - Typesafe builder and Kotlin DSL - Syntactic extension - Extension method e.g. Gradle Kotlin DSL - Operator overloading e.g. Ktor - Infix operator based Fluent style e.g. Assertion libraries - DSLMarker and implicit receiver resolution e.g. Jetpack Compose - For DSL users - Adapt Kotlin DSL to existing libraries - For DSL developers - How to keep both usabilities of Kotlin DSL and other JVM languages - Examples in Gradle Kotlin DSL
おまけ
昨日の勉強会で Nkzn さんに「Gradle Kotlin DSLの話聞きたい」と言われたけど、45分やれる気がしないのでサクッと5分LTに送るか悩む。