Skip to content
0:00 / 0:00

#categorytheory#monads#functors

Alejandro Serrano: Category Theory Through Functional Programming (part 1/3) - λC 2017

LambdaConf

8.8K subscribers • 18 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.

Intermediate. Assumes working knowledge.

4.4K views9 years ago2 recommendations

Computer scienceProgramming languagesFunctional programmingComputation and complexityHaskell

Alejandro Serrano introduces category theory in a practical way, relating its structures directly to functional programming concepts.

Functional programming is taking over the world. And with it, categorical thinking is permeating into our code. Notions like functor, monad or free-ness are usual when diving into Haskell or Typelevel Scala. Category theory effectively gives vocabulary for design patterns: the authors of 1, 2 and 3 (you should definitely read this book!) make this connection explicit. In order to take advantage of these concepts, it is useful to take a step back and understand the underlying ideas of Category Theory and how they all fit together. Let me be clear: diving into intrincate mathematical theories is not my goal. I want you to understand Category Theory in a practical way, in relation to programming. This relation is two-way: Code provides us many examples of categorical structures, Conversely, in many cases we can implement categorical notions directly inside our favorite programming language. As a consequence, in order to obtain the maximum return for your time investment, you should have an intermediate knowledge of either Haskell or Scala. If you know how to declare a type class or a trait, what a higher-kinded type (or type constructor) is and have ever used a monad, you are ready. Recent versions of the compiler are recommended, for Haskell GHC 8 is the minimum. Teaching tons of concepts in just one session makes no sense. Ideas need some time to sink before you can effectively build upon them. Thus, our exploration of Category Theory will proceed in daily small pills, of around 45 minutes every day. The (preliminary) list of topics is: Introduction to categories. Simple universal constructions: (co)products, terminal and initial objects. The principle of duality. Functors. Natural transformations. (Co)monads. Adjoints and their relation to (co)monads. Exponentials. Free constructions. (Initial) algebras for a functor. The Yoneda Lemma. Monoidal functors.

Why it's here

2 people recommend this

What people say. Recommended as part of a series explaining category theory through functional programming.

u/idontgiveafin r/haskell • Recommends

…etreat 2017 Talks * Pawel Szulc: Learning FP concepts for greater good * Gabriel Gonzales: Data science APIs in Haskell * TJ Usiyan: Building a small Parser Combinator library in Swift * Julie Moronuki: Applicative and Monadic Parsing * Gabriel Gonzales: Applied category theory and abstract algebra * John DeGoes: Beyond Free Monads (link to this video * Daniel Spiewak: Fun With Parsing (link to this video * David Greenberg: Distributed functional programming * Chris Allen: A Haskell Guide for Working Stiffs * TJ Usiyan: Functional Programming and Polymorphism basics in Swift * Alejandro Serrano: Category Theory Through Functional Programming (Part 1|Part 2|Part 3) * [Scott Fleischman:…

u/know_not_muchin r/scala • Recommends

(3 part series) Category theory through functional programming part1: link to this video part2: link to this video part3: link to this video