This talk is about how common type classes from functional programming - Monad, Functor, Applicative and others - can be understood in terms of Category Theory. Also, it attempts to represent the Scala type system in the framework of Category Theory. Finally, it provides examples of how to use this theory and some libraries that are based on it (like Cats and Shapeless) to solve common problems in highly generic and type-safe way.
voted / votable