LOADING

Armored Type Safety with Iron

In this talk, we’ll show first the different techniques we can use to apply constraints is our domains. Then, we’ll present Iron, its features, extensions, and integrations. We’ll finish by showcasing a fully integrated constraint-enforcing app.

Raphaël Lemaitre
About This Talk

When designing an application, we often end up with domain-specific types, that all behold constraints that we try to enforce as much as possible: an age is positive, a delivery date can’t be in the past, etc. Modelling the data right is a part of the success of Scala and functional programming in general, but it also brings either boilerplate (we have to do again and again validation), or rely purely on conventions.

But there is hope. Meet the Iron library.

Iron is, a type constraint library that allows us to have a safe, declarative and smarter model. It enables us to have a continuous stream of valid data from our API endpoints to the database, and removed a whole class of bugs. Using advanced features like opaque types, inlines and the new macro system, it offers a true 0 cost, 0 dependency library that doesn't hamper compile time.

In this talk, we’ll show first the different techniques we can use to apply constraints is our domains. Then, we’ll present Iron, its features, extensions, and integrations. We’ll finish by showcasing a fully integrated constraint-enforcing app.

more great talks

Might Be Interesting

Day 2
  —  
2:00 pm
arrow pointing right icon

Turbocharging web socket integration for Tapir

We managed to alleviate almost entirely the slowdown induced by Tapir in a web socket server. The journey towards this goal was quite insightful, and we would like to share it with you.

Day 1
  —  
11:30 am
arrow pointing right icon

Custom Compile-Time Errors With a Vengeance

In this talk, we will take a tour around the `error` function. Starting from the simple use-cases and ending up with sophisticated yet developer-friendly error messages.

Day 2
  —  
3:30 pm
arrow pointing right icon

Sounds of Scala.js

Drawing on 25 years of experience as a professional musician and record producer, this will be a beginner focused talk introducing the use of Scala.js and the web audio api for building Scala powered Web Audio Applications.

Day 1
  —  
9:30 am
arrow pointing right icon

Mirrors for operations, not data

I propose that we can extend Mirrors to operations, and use the most natural DSL of all - plain trait definitions.

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