| ▲ | xboxnolifes 5 hours ago | |
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? | ||