Tuesday 4th June, 2013
5:00pm to 6:00pm
Ad-hoc polymorphism, known most commonly as "type classes" (in Haskell originally, and Scala more recently) or "protocols" (in Clojure), enable us to write highly generic, modular and reusable code. We can easily invent our own type classes as we see fit, but it turns out that several common type classes -- many of which represent mathematical concepts such as "functors" and "monads" -- capture some very useful patterns for software architecture, and end up appearing frequently in many popular libraries. The "Typeclassopedia" will provide a whirlwind tour of these type classes as implemented in the Scalaz library, their operations and how they're used in real-world production code.
John Kodumal received his Ph.D. from UC Berkeley following research on advanced static analysis techniques.
Sign in to add slides, notes or videos to this session