Closing his Typeclassopedia talk at the May meetup, John Kodumal mentioned that monad transformers can be used work with multiple monads at once. The need for monad transformers arises quickly when writing code in monadic style. In web services, for example, it is common to perform I/O, handle exceptions and depend on some state all at once. Monad transformers allow us to build an "embedded language" that encapsulates all of the semantics of the monads we choose to use. This talk will introduce monad transformers and look at their usages in real projects like Scalamachine, Scaliak, and StackMob's own codebase. Additionally, we will explore when to use monad transformers, how they improve a codebase, and how you can write your own. Rough agenda for the evening:
6:00-6:25pm: Arrive and Mingle (food and drinks provided)
6:30-7:30pm: Jordan's Presentation
7:30-8:00pm: Q&A and Wrap-up
About Jordan West
Jordan is an Engineer at StackMob, focused primarily on developing their backend services written in Scala and Erlang. He is a polyglot at heart but spends most of his engineering time writing Scala, Erlang and Ruby, and playing around with Haskell. He is a core committer of StackMob's open-source Scala projects, Scalamachine and Scaliak.