Building DSLs in Scala

Alon Muchnik

DSLs are everywhere. If you ever used SQL, Ant or HTML, you were using a DSL, maybe without even realizing it. Domain-Specific Languages, or DSLs, provide convenient syntactical means of expressing goals in a given problem domain. A well-crafted DSL communicates the essence and means of the domain it represents in a natural way, so that you don’t even think about its underlying technology.

Scala’s rich, flexible syntax combined with its OO and functional features makes writing DSLs a breeze. In this talk I'll introduce the concept of DSLs, where to best apply them, their pros and cons, and how to integrate DSLs into your core application. We will see a practical example of how to lever the tools Scala gives us and build our very own tax calculation DSL.

Bio

Alon Muchnick is a software engineer with a background in networking security and Unix systems. For the last two years he has been working for Wix, developing Wix Stores, a robust microservices-based eCommerce platform, using Scala stack and CQRS with event sourcing.