Imagine if you could encode patterns into the language so that the only way to make the code compile is by following the pattern correctly.

Kotlin enables us to define custom domain specific languages (DSLs). DSLs help create structured data such as HTML, XML, or SQL using regular Kotlin code in a type-safe way while also benefiting from auto-complete and refactoring capabilities. Defect rates are reduced and productivity increases.

Surprisingly, in addition to using DSLs as type-safe builders, we can also structure them to enforce correct use of patterns (rather than constructing anything). As an example, it's known that multiple locks should always be acquired in the same order to prevent deadlocks yet this type of problem gets introduced from time to time so lets prevent it at compile time!

Join our meetup and RSVP for this Wednesday's meeting to learn more:

Note: Due to constrained capacity, we are limiting membership to those in technical roles (Students / Developers / QA / Tech Leads / etc.)