Lars is a PhD student in Munich, Germany, working in the area of theorem proving. He has been using Scala for quite a while now, and is the maintainer of scalaz, a library for functional programming in Scala. Additionally, he is founder of the typelevel initiative which is dedicated to providing principled, type-driven Scala libraries.

In this workshop, we'll get you started with scalaz. The first topic will be the general organization of the library; that is, an overview over what's in there and how you find what you're looking for. Next, we'll be working through a couple of problems and are trying to solve them with increasing levels of abstraction, starting with monoids, and – given enough time – ending with monad transformers (no worries: like monads, they're nice and fluffy). This will cover various topics like dealing with infinite structures, error handling and encoding invariants into types. We'll also investigate how your favourite library could benefit from scalaz integration.

No matter whether you've already been working with scalaz 6 and want to do a migration to version 7, or are completely new to scalaz, this workshop is for you. Knowing some Haskell is advantageous, but by no means necessary. A bit of Scala experience is recommended.