Repurposing Scala's Pattern Matching for Deeply Embedded DSLs
ScalaIO, Nov 2024 [slides]
Monads Are Not About Sequencing
Functional Scala, Nov 2023, [video] [slides]
When Your DSL Needs to Support User-Defined Domain Functions
ScalaDays, Sep 2023, [video] [slides]
Presents the DSL embedding technique behind Libretto: delambdification followed by "compiling to categories" (i.e. to point-free representation).Concurrent All The Way Down (Functional Concurrency with Libretto)
LambdaDays, Jun 2023, [video] [slides]
Concurrency without threads or side-effects.Custom Stream Operators Made Safe And Simple with Libretto
Scalar, Mar 2023, [video] [slides]
Shows the expressiveness of Libretto in implementing stream operators. Presents examples that are hard to express in other stream libraries.Typed Interaction with Session Types (using Scala and Libretto)
Functional Scala, Dec 2022, [video] [slides]
Shows how Libretto expresses session types, which are not natively supported by the Scala type system.