ONLINE WORKSHOP: Principled Metaprogramming in Scala 3
This workshop will be given by Jon Pretty on Thursday and Friday of LambdaConf week.
Date and time
Location
Estes Park
Estes Park Estes Park, CO 80517Refund Policy
About this event
PRINCIPLED PROGRAMING SCALA 3
Scala 3 introduces a smorgasbord of new metaprogramming facilities, building upon the rock-solid foundations of TASTy, inlining, and the theory of Quotes and Splices, and providing all the capabilities of Scala 2 macros—and much more! Principled Metaprogramming in Scala 3 brings a new power to design APIs that are not only elegant, but fast...then turns that into a superpower with guarantees about your code's safety.
This course will indulge in these new features. We begin with an exploration of Inline Methods, developing a confidence to understand how they behave. We learn techniques for reasoning about inlining, and a clarity on the distinction between runtime and compiletime facts, with a particular focus on static analysis, dependent typing and branch elimination.
We build upon inlining with an exploration of Quotes and Splices, making it possible to construct and compose custom code through fluid syntax that seamlessly interleaves code evaluated in the current compilation phase with code for later phases. We will learn to write macros, pattern match against terms and types, and discover how they can transcend compile phases.
Finally, we dive deeper into Reflection with TASTy Trees, the building blocks for all Scala 3 code. We break down expressions and types into their syntax trees and discover what information we can glean from them and their associated symbols. We will construct new terms and types with fresh precision, and transition between their quoted and reflected representations.
Each section is loaded with real-world examples to illustrate features as they are introduced. As with any complex new topic, it can be hard to absorb every detail in such a short time. So with each example we focus on repetition of the fundamentals and the universals—so these become second nature—and we learn the methods of discovery for the features we reach for less often.
By the end of the course, you will be able to use inline methods confidently, and develop macros that introspect and construct code at compiletime, so you can create rich, powerful and nuanced APIs, with less boilerplate.
-----------
LambdaConf 2025 will span an entire week, from May 10th to May 16th. General tickets allow entry to the main conference and Hackathon Day on Wednesday. If you'd like to attend the hands-on workshops given on Thursday and Friday, then you must purchase a workshop pass for the workshop you'd like to attend.
This year's conference will feature a hand-picked lineup of renowned and new speakers, thought-provoking keynotes, hands-on workshops, hackathons, and panel discussions. Whether you are a seasoned professional or just starting your journey in functional programming and AI, LambdaConf 2025 offers something for everyone.
Exact Location: Estes Park, Colorado
About LambdaConf
LambdaConf is a developer conference that brings together a diverse range of programmers, researchers, and domain experts for inspiration, networking, and cross-pollination. Launched in 2014, the conference focuses on exploring new technologies, use cases, and theory that helps developers improve their craft and stay current with the latest advancements in their field.
LambdaConf is known for its inclusive atmosphere, diversity of speakers, thought-provoking talks, and skill-building workshops, covering new developments in areas like programming languages, virtual machines, distributed systems, security, machine learning, and more. The conference takes place in the beautiful mountains of Colorado, in the United States, and attracts speakers and attendees from all around the world.
*No Refunds Policy