Software Engineer at Ephox
George Wilson is an enthusiastic functional programmer from Brisbane. George
engineers web services in Scala at Ephox by day, and waxes poetic about lenses and all things Haskell at Brisbane Functional Programming Group by night.
YOW! Lambda Jam 2017 Sydney
The Extended Functor Family
TALK – VIEW SLIDES
Functors are ubiquitous in modern strongly-typed functional programming. Every Haskell beginner will come across them as one of the first typeclasses introduced. Stronger structures such as Applicative and Monad often steal the spotlight, but there are many structures related to the humble Functor that go unnoticed. The goal of this talk is to show off and give an intuition for some of these other structures: contravariant functors, bifunctors, and profunctors. With some of these making their way into Haskell’s standard library recently, now is a perfect time to be introduced to or brush up on these concepts. Code examples will use Haskell, but these techniques extend to any language with typeclasses or a similar mechanism, such as Scala’s implicits.