Remix.run Logo
▲ epolanski 5 hours ago

No there's no complexity behind monads except laziness and anti math circle jerk.

It's really basic concepts, much easier than the analysis you do in high school.

But people would rather sit through monad as boxes or burritos cringe tutorials.

▲xboxnolifes 5 hours ago | parent | next [-]

Your math explanation starts with a math concept that the vast, vast, vast majority of people will have never even heard of, even in math-adjacent fields. It's not anti-math reasoning. It's a lack of self-awareness that your background is very math heavy, which makes that particular explanation make sense to you. I've gone my entire schooling, as a student who was always one of the few who were "good at math", all the the way through my CS education, without ever having heard of a functor until I came across the Haskell monad explanation meme.

Your next step could be to blame the school systems if you want, but that doesn't help the situation at hand.

▲a57721 32 minutes ago | parent | next [-]

I majored in mathematics and I learned category theory before touching any serious Haskell, and I still found most of the "monad tutorials" kind of opaque and handwavy, and I think there are inherently non-trivial details unrelated to the notion of functor etc.

▲fn-mote 3 hours ago | parent | prev [-]

>> You start from a functor which is a data type that admits a map operation. Then you add of, or pure, to make an applicative functor, and then you add flatmap to make a monad.

> Your math explanation starts with a math concept that the vast, vast, vast majority of people will have never even heard of, even in math-adjacent fields

Let me take this apart.

1. a data type that admits a map operation

Present in most languages including JavaScript. Not a mathematical issue.

2. add of, or pure, to make an applicative functor

I had to look this up. It was new content for me, maybe 5 or 10 minutes believing I would get it.

3. add flatmap

This didn’t scare me but maybe it scares others. Not a mathematical issue here, though. Being in C++ doesn’t make this concept mainstream, I guess?

https://en.cppreference.com/cpp/container/flat_map

▲LoganDark 2 hours ago | parent | prev | next [-]

FWIW I dropped out of high school to pursue programming more directly. I regret it now because of the job market crash, but it's also too late for me to go back.

▲ 5 hours ago | parent | prev [-]
[deleted]