Skip to content
0:00 / 0:00

#categorytheory#monads#haskell

Category Theory 1.1: Motivation and Philosophy

Bartosz Milewski

29K subscribers • 1 video on Hallway

YouTube
  • Recommended by 12 people: 11 on Hacker News and 1 in engineering communities.
  • A classic. People kept recommending it from 2016 to 2022.
  • Presented by Bartosz Milewski, author of Category Theory for Programmers

Intermediate. Assumes working knowledge.

394K views10 years ago12 recommendations

Computer scienceProgramming languagesFunctional programmingComputation and complexityMath for programmers

Bartosz Milewski introduces the fundamental concepts of category theory, explaining why composition is essential for managing complexity in software.

Motivation and philosophy

Why it's here

12 people recommend this

What people say. Recommended as the best starting point for programmers to learn category theory and understand functional programming concepts like monads.

u/oddasatin r/haskell • Recommends

Category Theory Lecture By Bartosz Milewski

defaultcompanyon Hacker News • Recommends

On “On the Weaknesses of the Mathematical Mind”

…st this mechanism, not some deep truth about the universe itself. Like - what if we as humans are so "register bound" that we can't solve any problems which can't be chopped up and put back together like this - such as those in the social sciences. His presentation style is wonderful - i recommend the whole talk but this part starts at 37:20. 1: link to this video…

phekundeon Hacker News • Recommends

On “Ask HN: How to be fluent in functional language speak?”

If you are coming from imperative land (more specifically C++) then nothing beats articles and videos by Dr. Bartosz Milewski: link link to this video link link

openfutureon Hacker News • Recommends

On “Why hasn't Haskell taken over the world? And the curious case of Go”

That just means you are missing some foundation. If you are interested in understanding the theory I really recommend this: link to this video link

snowcrshdon Hacker News • Recommends

On “A monoid is a category, a category is a monad, a monad is a monoid”

I recently started going through Bartoz Milewski's Category Theory lectures 1. I think they are a very nice place to start learning these things. 1 link to this video

danidiazon Hacker News • Recommends

On “From Monads to Machine Code”

Those articles (and the videos link to this video ) are great but one doesn't need to learn category theory to understand monads in Haskell. The Haskell Wikibook is an underrated resource: link

nuriaionon Hacker News • Recommends

On “Category Theory, Syntactically (2016)”

I can recomend the video series of Bartosz Milewski ( link to this video ) I'm at the 4th video and it's the first time that i start to become an understanding of the howl thing. But expect it to take some time. (10 Videos, most are around 1h, i needed to pause several times and think or try something out)

yanowitzon Hacker News • Recommends

On “Monadic I/O and Unix shell programming (2001)”

This is a fun read (fair warning: you should have some understanding of monoids and monads before reading) and further validates my hypothesis that understanding category theory would make me a more effective engineer. If you've had the joy of constructing useful shell pipelines, and part of it is in the ease of knowing how it will behave. this is a nice formal statement that the underlying reasons WHY it just “feels right” are because of category theory--which means if I can just learn category theory, I’ll have a new tool for approaching and factoring problems that will be, technically speaking, hella useful. I suppose I should start (re)working my way through link to this video

philzookon Hacker News • Recommends

On “Ask HN: How to self-study mathematics from the undergrad through graduate level?”

…want. Here's a quick mind dump some of my favorites and some that I haven't watched. Roughly in order of how much I liked them. Gilbert Strang's Computational Methods for engineers was life changing for me. It is a two part MIT opencourse. link A Stanford course on the Fourier transform link Bartosz Milewski's Category theory for programmer's link to this video Stephen Boyd's courses are online. link Linear Systems, convex optimization. Useful stuff. Francis Su's Real Analysis is very good link Indian universities have an astounding collection of videos link I have a tough time with the accents, which is a bummer. UCCS MathOnline has quite a haul link I've been enjoying this Visual Group T…

smclon Hacker News • Recommends

On “Category Theory for Programmers (2014) [pdf]”

There's a lecture series he did if anyone's interested: link to this video I must say that there is a slight Tommy Wiseau energy about the guy, but that's no bad thing :-)

vishnuguptaon Hacker News • Recommends

On ““Computer science is not about computers””

I suggest a combination of theory (videos/books/papers) and practice. For practice; I highly recommend learning Haskell. If you are new to functional programming then learning Haskell is challenging and frustrating but as with any new topic the key is to not give up but keep probing. A good recent development is lot of mainstream languages are beginning to include functional paradigms such as lambda, closures etc., For example Java introduced lambda expressions, Javascript has had them for a while now. But from a first-principles stand point Haskell is as good as it gets so please do learn and code in Haskell if not at work then at least side projects. For theory I've found following materia…

OracB7on Hacker News • Recommends

On “How to learn hard things in tech”

Eugenia Cheng has some interesting and accessible videos, e.g.: link and in a similar vein I am enjoying her book: "How to Bake Pi". Getting more into the technical side of things, Bartosz Milewski has good lessons in this playlist: link to this video

u/fripperMLin r/haskell • Mentions

Question about UndecidableInstances Hello! I am fairly new to Haskell. After years of lurking into it, but scared with the syntax and so many abstractions, it was watching the first series of lectures of Cateogory Theory for Programmers by Bartosz Milewski what made me decide to start. As a mathematitian, his explanations made me very excited. I am reading some books and following at the same time this MOOC. Ok, so my question is the following. I am doing the exercises of the MOOC and in one of them I am asked to do this: * Implement a type class Cycle that contains a function `step` that cycles through the values of the type. * Implement instances for Color and Suit that work like…

u/beezeeein r/functionalprogramming • Mentions

On “I’m taking an Ocaml course. I always liked diagramming out programs and then coding with imperative languages. What’s the equivalent for functional programming?”

link to this video and https://www4.di.uminho.pt/~jno/ps/pdbc.pdf there are diagrammatic mathematics in which functional programming has very strong roots - embracing this can produce much better outcomes than the relatively fabricated techniques popular with and invented by computer programmers.

u/beezeeein r/functionalprogramming • Mentions

On “Where do I start learning and what do I learn?”

Give this a try - link to this video If you like the first one, there's many many more in the series, and a second series to follow as well. I got to this after a few years in industry, with no CS education, but I think it places pretty low demand on viewers as far as previous knowledge is concerned, and it lines up _very_ well with the observations you've made in your post. This was in no exaggerated terms a total game changer for me. I genuinely believe that working through this material opens a door for you that will put you in a rare class of programming ability, regardless of the language or paradigm you end up having to work with (for a class or job or whatever)

u/raxel42in r/functionalprogramming • Mentions

On “why are functional languages so un-friendly to beginners?”

I think it seems like that because to get the full of the power of FP you need to learn a lot .reduce and .map aren't enough. Yeah, they require a lot of fundamental stuff.and without it, you can't understand what this bunch of combinators do.If you really want, I would recommend: 1. The Science of Functional Programming: https://github.com/winitzki/sofp 2. Category Theory for programmers. [video Yeah, the learning curve is really steep.