Euphoric Codecs & Dazzling Rainbows

In the era of cloud-native programming, endless data flows across the Internet, updating state and triggering effects along its path. Though most wire protocols are untyped (like JSON) or poorly typed (like Protobuf), fans of static types prefer to tame the complexity of the cloud with statically-typed persistence and cloud APIs.

To bridge the gap between the typed world and the untyped world, sometimes code generators are used. Another option, demonstrated in the library "ZIO Schema", is to encode the very structure and capabilities of a user-defined data type as a value, and then programmatically derive codecs and relational data mappings from this structure, which allows elimination of boilerplate but preserves type safety.

In this presentation, functional programmer John A. De Goes will walk through his design for ZIO Schema 2, which is superior to its predecessor in every way--flexibility, performance, and beauty. As you learn the secrets of this new library, you will see how the approach compares to Rust serde, and discover the magic of reflective optics--a new construct that John devised to simplify common problems in everyday programming.

Finally, at long last, fans of strong static types can have the usability of dynamic programming, but with compile-time guarantees and no runtime overhead!

Starting from: $536

Renew Your Mind at LambdaConf 2025

Buy tickets