LOADING

Do You Even Macro?

In this talk, we'll cover the essentials of macros, why they are useful, why you should care about them, and how to become as good as you need with them for practical purposes.

Daniel Ciocîrlan
About This Talk

Scala 3 macros are some of the least understood parts of the language, and some of the most powerful. In this talk, we'll cover the essentials of macros, why they are useful, why you should care about them, and how to become as good as you need with them for practical purposes.

You will understand:

- why inlines are great but often not sufficient

- the mechanics of a macro

- how to manipulate programs as values

- how to surface custom errors in the compiler

- essential pieces you can work with, including terms, symbols, types, trees and expressions

- how to make useful libraries with macros

- practical examples of macros at work

more great talks

Might Be Interesting

Day 1
  —  
arrow pointing right icon

Bazel: Do We Really Need Another Build Tool?

In this talk, I'll introduce Bazel, exploring its core concepts and the unique aspects that set it apart from other build tools. I'll dive into some typical challenges Scala developers might face when working with Bazel.

Day 2
  —  
arrow pointing right icon

Durable Event-sourced Workflow Monad... Seriously!

In this talk, I'll walk you through how workflows4s works, how it stands apart from tools like Temporal or Camunda, and why it just might be the better approach for modern, event-driven applications.

Day 1
  —  
arrow pointing right icon

From Zero to Production Faster Than Your Average Meeting with Pillars

I will demonstrate how Pillars can take you from zero to production in record time. By leveraging Pillars’ integration of well-known libraries, you can bypass the usual complexities of setting up observability (traces, metrics, and logs), database access, API calls, and feature flag management.

Day 2
  —  
arrow pointing right icon

Going structural with Named Tuples

Scala 3.6 stabilises the Named Tuples proposal in the main language. It gives us new syntax for structural types and values, and tools for programmatic manipulation of structural types without macros. Can we, and should we, push it to the limit? Of course! let's explore DSL's for config, data, and scripting, for a more dynamic feel.

Day 2
  —  
arrow pointing right icon

Tagless Final for Humans

In this talk, I'll look at the different uses to which tagless final is put to, and see what we can learn about when it is useful and when it just gets in the way.

Day 1
  —  
arrow pointing right icon

What does the functor do on the tree?

In this talk we'll see how to model a tree structure in Scala, take both imperative and functional approaches to tree traversal algorithms, and do some ASCII art at the same time.

See All Events
Join us!

We're looking for amazing speakers.
CFP is open till 10.01.2023

Fill in Call for Papers
location icon

Location

Centrum Konferencyjne POLIN, Poland
stay in touch icon

Follow Us

Contact Us