Once upon a time, Java programmers were doomed to use runtime casts in order to reuse data structures, which caused lots of debugging nightmares to innocent programmers. That horror story happily came to an end when Java 5 added generics, but, alas, evil was not completely removed: nowadays, Java programmers still lack higher-kinded generics, which causes no shortage of modularity nightmares when writing APIs. This talk shows how to solve these problems in Scala, and know what? At the end of the road we’ll end up in … lambda world, using type classes and monads, without even wanting to.
voted / votable