A Denotational Interpretation of Embedded DSLs with Scala 3
This program is tentative and subject to change.
Embedded domain-specific languages (EDSLs) let users write programs in a general-purpose programming language that compile to a domain-specific target, such as SQL or hardware descriptions. The host-language type system can reject syntactically ill-formed programs, but semantic properties like acyclicity of dependency graphs, monotonicity of operators, or resource usage constraints typically require a separate, often run-time analysis. In this talk we will show how to encode a denotational interpretation of EDSL programs within Scala 3’s type system, using Named Tuples to represent typed program structure and Match types to enforce structural invariants at compile time. We illustrate the technique on a database query DSL, where programs are interpreted as a graph-based representation of database queries, and static properties like acyclicity are checked by the Scala compiler.
| Talk proposal (scala_workshop-paper1.pdf) | 394KiB |
Anna Herlihy is a final-year PhD student in computer science at EPFL, advised by Anastasia Ailamaki and Martin Odersky. Her research lies at the intersection of data systems, programming languages, and compilers. She studies how modern data systems can support increasingly complex applications that span multiple languages, runtimes, and execution environments.
This program is tentative and subject to change.
Mon 29 JunDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
09:00 - 10:30 | |||
09:20 10mDay opening | Welcome to the Scala Workshop! The Scala Workshop 2026 Matt Bovel EPFL | ||
09:30 30mTalk | Lorikeet: Flexible code rewriting for Scala 3 The Scala Workshop 2026 File Attached | ||
10:00 30mTalk | A Denotational Interpretation of Embedded DSLs with Scala 3 The Scala Workshop 2026 Anna Herlihy EPFL File Attached | ||