Category Theory 10.1: Monads

preview_player
Показать описание
Monads
Рекомендации по теме
Комментарии
Автор

now the phrase "monad is just a monoid in the cathegory of endofunctors, what's the problem?" makes total sense to me, thats incredible

leonardomoraes
Автор

Finally someone actually writes down the guts of a Monad. Thank GOD I've found your videos. 

I was so exhausted by reading articles and watching videos that say "Heyyyy so a Monad is this this and that, but isn't this", but as soon as the implementation part came in every teacher be like "ok so today I will not write it down" or "I will not get into implementation specifics". This stupid tendency just makes beginners think that Monads must be so fucking hard to understand and write down, that even people who teach them don't want to do this on screen. I think a tremendous amount of people would click with Monads way faster if more articles and lectures would do what you're doing - showing the internals like join, bind and unit functions.

To me most people who try to teach what Monad is are just fucking obnoxious in their obsession with the level of abstraction of Monads, how beautiful they are and how awesome they are, usually assuming that most newcomers are too stupid to even fathom "this magnificent level of abstraction", assuming that "the level of abstraction" is what makes Monads hard. This idiotic way of talking about them is actually a self fulfilling prophecy - making it out to be an elusive concept that mere mortals will never come to understand. Because of this 90% of the newcomers will automatically assume that they are unable to grasp this concept in a reasonable amount of time, if ever.

An issue is actually never EVER showing actual practical code, or at least mathematical expressions that make Monad what it is. An issue is just talking about Monads, why they are useful, but in no way touching the topic of their implementation, even in an abstract way.

I'm convinced that I understood the concept of a Monad, I actually knew what it does and why it is useful, but absolute lack of any sensible information on how to actually write one down has set me back for months now.

kralkatorrik
Автор

this series is really great! the explanations and perspectives provided do really help me a lot. I appreciate the time and effort you put into this series Bartosz

philipph
Автор

As I'm approaching the end of the series, got to say thanks for a week's worth of entertainment and a lot of knowledge.

kath_the_spy
Автор

I love your teaching style. You really take abstract concepts and make them exceptionally palatable. Thank you

kaleevans
Автор

7:40 "A lot of stuff may happen inside the fish" ~ Bartosz Milewski (I think you just gave me an epigraph for my thesis.)

TimTeatro
Автор

Excellent teaching. Nothing left hidden, yet everything clear!

robertwatson
Автор

:O You've just invented the human-centipede approach to teaching functions. If my friends ever force me to watch that movie, they're going to get a math lecture.

TimTeatro
Автор

Really enjoyed all your lectures, they are helping me a lot to better understand category theory. Hope you keep up the good work! Can't wait for the next episodes!

CarlosMoreradelaChica
Автор

Me, a type theory virgin that has just started to learn Haskell, I was hanging on for dear life while watching this!

astarothgr
Автор

Great lecture. Would love to see a comparison of monads and applicative functors, and the associated natural transformations.

TheSidyoshi
Автор

Is there any difference between fish and bind chains?:
f >=> g >=> h
and
ma >>= f >>= g >>= h

alexanderskusnov
Автор

This is the best explanation of monads! Thank you!!

skyzhangty
Автор

totally forgot the notion of time while listening to your awesome explanation. Thank you

soufianemgInk
Автор

Thanks for the amazing lectures!!
Curious if Applicative Functors and Traverables are in the mix for any upcoming sessions?

TheEvilSoft
Автор

25:00 This is a golden and very relatable joke, indeed very dangerous!

jesusjar
Автор

1:09:17 Pretty cool collection of faces.

jesusjar
Автор

I am confused about why the order of composition seems opposite for these Kliesli arrows. If f :: a -> b and g :: b -> c then I guess g.f :: a -> c. So g.f is called g after f. On the otherhand, for Kliesli arrows, as you have defined them (at time 14:14 and page 287 of your great book) you say (>=>) :: (a -> m b) -> ( b -> m c) -> (a -> m c). From this I guess that if f' :: a -> m b and g' :: b -> m c then, by your notation, f' >=> g' :: a -> m c. But here we put f and g the opposite way round to when we did the analogous thing with dot. I am wondering if this reverse of composition order for Kliesli arrows is intentional, or if this is an accident of notation, and you meant to say (>=>) :: (b -> m c) -> ( a -> m b) -> (a -> m c), or if I misunderstood something else. I'm quite new to this stuff

RichardSouthwell
Автор

I'm looking for help anywhere. My question is I see (T(X)) and (T(T(X))) are parentheses around Monads, is this the wrap that is mentioned in Monad literature?

jeffreyhowarth
Автор

thank you for the great quality content

lucasa