Explore a powerful technique for implementing domain-specific languages (DSLs) that support user-defined functions in this 42-minute conference talk from Scala Days. Delve into the challenges of incorporating functions into domain objects and discover an innovative approach using abstract arrows to represent domain functions. Learn how to provide users with a familiar lambda syntax for defining domain functions while leveraging Scala's compiler for typechecking. Examine the process of translating Scala functions into point-free compositions of arrows, utilizing the Libretto project for a library solution. Gain insights into creating clean, point-free representations for programs while offering users a familiar lambda notation. Understand how Scala's unique features enhance this technique, making it particularly effective for DSL implementation.
Overview
Syllabus
Tomas Mikula - When your DSL Needs to Support User-Defined Functions
Taught by
Scala Days Conferences