LOADING

Yo Dawg, Heard You Want To FlatMap Your Direct-Style

During the talk, we’ll build a small effect system using solely Scala 3 context functions step-by-step.

Riccardo Cardin
Senior Software Engineer at Lastminute.com, Blogger at RockTheJvm.com
About This Talk

The direct style in Scala 3, influenced by languages like Kotlin and Rust, simplifies functional programming by eliminating for-comprehension syntax on higher-kinded types. It offers an imperative approach supported by context functions.

While some many Scala developers support it, others prefer the traditional functional styles used in libraries like Cats Effect and ZIO, which manage effects differently. The potential of combining Algebraic Effects and Handlers with Scala 3's direct style opens new possibilities for exploring different programming paradigms and libraries.

During the talk, we’ll build a small effect system using solely Scala 3 context functions step-by-step. With some enhancements to the common approach, we’ll discover that adding for-comprehension capabilities to such a system is possible, ending with a system that can express the same program using either direct style syntax or monad style.

more great talks

Might Be Interesting

Day 1
  —  
9:35 am
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
  —  
2:35 pm
arrow pointing right icon

Better Scala builds with the Mill build tool

This talk will introduce Mill: a newer build tool that does everything SBT does, but better. Faster, simpler, easier, Mill democratizes the build so you don't need to be a build tool expert to work on it.

Day 2
  —  
11:50 am
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
  —  
4:25 pm
arrow pointing right icon

Quiz

Test your knowledge and win a cool prize!

Day 2
  —  
11:15 am
arrow pointing right icon

Automating template management process with Scala 3 and Iron

In this talk, I'd like to share how the Iron library and features from Scala 3 helped us build a solution which is safer, more robust, and easier to maintain.

Day 2
  —  
2:00 pm
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.

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