Functional Rust: From ADTs to Advanced Concurrency by Stefano Candori & Adrian Ramirez
36m
Rust combines the rigour of functional programming with the low-level control of a systems language, giving developers the tools to model invariants, compose logic with clarity, and run workloads safely at scale. In this talk, we'll refactor a deliberately "bad" Rust example into a safe, expressive, high-performance pipeline, starting with algebraic data types to model data and state clearly. We'll then apply category theory patterns like Functor, Monad, and Applicative, focusing on how these abstractions are represented and implemented in Rust. Next, we'll leverage Rust's advanced generics and Generic Associated Types (GATs) to create precise, reusable abstractions, and conclude by exploring how a functional design mindset enhances Rust's approach to concurrency and parallelism, making concurrent code both safer and easier to reason about.