addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-crosscrosseditemptyheartfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartrashtriangle-downtriangle-uptwitteruseryahoo

Typeclassopedia with John Kodumal

Ad-hoc polymorphism, known most commonly as "type classes" (in Haskell originally, and Scala more recently) or "protocols" (in Clojure), enables 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 "monad" and "functor" -- capture some very useful patterns for software architecture, and end up appearing frequently in many popular libraries.  The "Typeclassopedia" will give us a whirlwind tour of these type classes, their operations and how they're used in real-world, production code.


Rough Agenda

6:30 Doors Open - Come grab a bite/drink and mingle

6:50 Announcements

7:00 Presentation Kicks-off



John Kodumal received his Ph.D. in theoretical computer science in 2006 following research with Alex Aiken (Stanford) and George Necula (Berkeley) on static program analysis.  Since completing his dissertation he has led the development of code analysis products at Coverity, currently leads the Plugin Exchange team at Atlassian, and has most recently avoided major catastrophe on honeymoon in the Sahara.  Ask him about the camel incident.


Join or login to comment.

  • Max W.

    Hi guys. The video of this talk is now online:

    May 31, 2012

  • Massimo C.

    I wished it was longer so that real code snippets could be shown.

    May 25, 2012

  • Vlad P.

    It was amazing. Hearing that regular programmers can manipulate Kleisli categories; dreams coming true. You guys rock. Atlassian rocks! Great talk; thanks a lot!

    May 25, 2012

  • A former member
    A former member

    I really look forward to some more of these. These type systems are so deep I always learn more each time it is discussed.

    I was really hoping someone could explain to me what Arrow is. I guess I'll just have to wait for part 3.

    May 25, 2012

  • Kimikazu K.

    I was very late and missed most of the talk. However, because I am quite a new comer to scala and first to know scalaz, it was very interesting and inspiring. I'll check the slides later.

    May 25, 2012

  • Mairbek K.

    Excellent presentation

    May 25, 2012

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy