Join Newsletter

All of Basic Category Theory

YOW! Lambda Jam 2018

Have you ever been puzzled by the suggestion that

data Lens s a = Lens { get :: s -> a, set :: a -> s -> s }

might be in some sense the same as

forall f. Functor f => (a -> f a) -> s -> f s/code>

or, more to the point, how on earth someone ever went about figuring this out in the first place?
Don't know your Kan extensions from your co-ends, your pushouts from your presheaves?

Join me for a scenic adventure tour through the magical land of category theory, stopping off at all the major sights.

We'll learn the basic notions that form the conceptual backbone of category theory,
and how they all fit together.

Category theory has made deep inroads into computer science theory, but in this talk we'll be focused on computer science practice. We'll explore the advantages category theory brings to programming in terms of

  • providing alternate representations for types
  • classifying solutions, or
  • simply providing a clarifying viewpoint and helping to organise our thinking.

In addition this should provide you with the right framework for further exploring category theory, should you so wish.