LOADING

Flexible Modeling: Keeping Your Domain Pure with Scala 3

In this talk, we will walk through a concrete example of a boilerplate-heavy domain. By replacing common Scala 2 workarounds with Opaque Types, Extension Methods, Enums, and Union Types, we will demonstrate how to achieve a strictly typed, decoupled architecture without the noise.

Magda Stożek
Staff Software Engineer, SoftwareMill
About This Talk

A clean Domain Model is hard to maintain. Over time, our core entities often become overloaded, accumulating database logic, infrastructure constraints, and JVM-specific boilerplate. We want a pure, rich domain, but we often settle for leaky abstractions or an explosion of wrappers just to keep the compiler happy.

Scala 3 offers a powerful, pragmatic alternative: you no longer need complex concepts to solve easy problems. By leveraging its modern toolset, we can define behaviors, data shapes, and relationships exactly where they are needed—without polluting the core entities.

In this talk, we will walk through a concrete example of a boilerplate-heavy domain. By replacing common Scala 2 workarounds with Opaque Types, Extension Methods, Enums, and Union Types, we will demonstrate how to achieve a strictly typed, decoupled architecture without the noise.

more great talks

Might Be Interesting

Day 1
  —  
2:35 pm
arrow pointing right icon

Beyond `flatMap`: Is Kyo the Future of Scala Effects?

For nearly a decade, Scala's concurrency has been driven by Akka, Cats Effect and ZIO, each with its own vision for purity, safety, and pragmatism. Kyo enters this incredible ecosystem with a fresh perspective.This talk provides a critical, technical comparison of these systems through a unified framework.

Day 1
  —  
11:50 am
arrow pointing right icon

Scala and C – tight as brothers

Scala Native can interact with C code and libraries, greatly expanding the library ecosystem beyond pure Scala offerings. Let's see the low level and high level tools that make it possible, talk through challenges of encoding various C concepts in Scala, and demonstrate what popular C libraries look like when used alongside idiomatic Scala code.

Day 1
  —  
2:00 pm
arrow pointing right icon

The Concurrency Triangle: Scala Fibers, Java Virtual Threads, and Kotlin Coroutines

Scala Fibers, Java Virtual Threads, and Kotlin Coroutines - this talk shows how this elegant solution manifests at three different abstraction levels.

Day 1
  —  
9:35 am
arrow pointing right icon

The world after Scala 3.9 LTS

In this talk, I will introduce the highlights of what to look forward to in Scala 3.9 LTS, as well as how to think about the upcoming new release.

Day 2
  —  
9:00 am
arrow pointing right icon

NamedTuples in Action

I would like to present the use of NamedTuples to implement some cool things in SQL Libraries

Day 1
  —  
4:15 pm
arrow pointing right icon

Real-Life Scala Capture Checking

This will be a live coding demonstration of Scala's newest feature set: capture checking.

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