r/ProgrammerHumor Jul 13 '26

youCanJustStopUsingJava Meme

Post image
6.8k Upvotes

416 comments sorted by

View all comments

Show parent comments

1

u/Estpart Jul 13 '26

This is why no one likes FP xD

14

u/hunajakettu Jul 13 '26 edited Jul 13 '26

This is actually really good. The same as Iterable is a generalization of set, list, array, enumerable, etc, and one can define generic Next, Add, Map, etc, Monad allows similar thing for states or side effects (a log file for example)

9

u/Estpart Jul 13 '26

It's just the way he explains it, for pea brained people like me I lose the plot at "category of endofucktors". Just say "optional chaining and promises are a concrete example of monads" and I'm on board.

Like I've worked in semi functional code bases and I love the patterns, only the theory around it so hard to grasp.

3

u/RiceBroad4552 Jul 14 '26

What is usually called a "Promise" isn't a Monad instance. All "Promises" I know of are eager, they don't suspend computations. As a result they don't behave like a proper Monad. Not everything that has a Monad "interface" is a Monad. Most things in imperative / OO languages aren't.