Skip to content
0:00 / 0:00

#patternmatching#dsl#libretto

Repurposing Scala's Pattern Matching for Deeply Embedded | Functional World #15

Scalac

1.1K subscribers • 1 video on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Presented by Tomáš Mikula

Advanced. Deep dive for people who know the field.

744 views1 year ago1 recommendation

Programming languagesScalaLanguage design and type systemsFunctional programming

Tomáš Mikula presents a technique to repurpose Scala's pattern matching for deeply embedded DSLs without requiring compiler modifications or macros.

The upcoming meeting will focus on Scala, with a spotlight on Repurposing Scala's Pattern Matching for Deeply Embedded DSLs. Could we reuse Scala’s linguistic features, including variable binding and pattern matching, for describing e.g. durable workflows? In particular, could we obtain a reified description of such workflows, one that we could analyze, serialize, or render graphically? Can we get nested pattern matching on user-defined domain-level ADTs? Although Scala-Virtualized, an experimental branch of the Scala compiler, gave us means to do so a decade ago, it never made it to the mainline Scala compiler. In this talk, Tomas is going to present an alternative technique to repurpose Scala’s pattern matching for deeply embedded DSLs, one that does not require changes to the compiler. Additionally, the presented library solution (from Libretto) comes with translation to point-free representation, which not only avoids the trouble of managing variable bindings, but also makes non-exhaustive pattern matches unrepresentable! And all of that without macros. The technique is used in the Libretto project for pattern matching on domain-level ADTs. However, Tomas is going to demonstrate it on a simpler, demo DSL for defining durable workflows. Thus, as a bonus, attendees will get an unorthodox approach to durable workflows that’s not based on replaying the event log. Meet the speaker: The session will be led by Tomáš Mikula, Software Developer. By day, Tomas leverages existing tools to solve business challenges, and by night, he creates innovative tools to push the boundaries of programming. His passions include functional programming, metaprogramming, and domain-specific languages (DSLs), all aimed at improving the programming experience for everyone. Tomas is also the creator of Libretto. ------------------ ▶️ Looking for a job? Check out our careers page! scalac.io/careers 📸 Follow Scalac on social media! Instagram: / scalac.backstage Linkedin: linkedin.com/company/scalac/ Twitter: x.com/scalac_io Facebook: / scalac.io 📩 Join our Meetup group to stay up to date with our events : meetup.com/functionalworld/?eventOrigin=event_home_page

Why it's here

1 person recommends this

What people say. Recommended for Scala developers interested in advanced DSL design and extending pattern matching capabilities.

u/ComprehensiveSell578in r/scala • Recommends

Repurposing Scala's Pattern Matching for Deeply Embedded by Tomáš Mikula If you missed the last **Functional World meetup,** check out Scalac's YouTube channel: [video

u/ComprehensiveSell578in r/scala • Recommends

EVENT Functional World #15 | Ready to push pattern matching to the next level? Tomorrow, Tomáš Mikula will show you how to repurpose Scala pattern matching for deeply embedded DSLs - without compiler modifications or macros. Join us on **Feb 19th at 6 pm CET** on YouTube, check out the Meetup group for more info. **Highlights of what’s coming your way at the meetup:** * A new way to leverage pattern matching for deeply embedded DSLs   * A library solution from Libretto that translates to point-free representation   * A technique that eliminates non-exhaustive pattern matches - no more managing variable bindings!