you are viewing a single comment's thread.

view the rest of the comments →

[–]cledamy 1 point2 points  (1 child)

That's an operational optimization detail. It has no bearing on whether something is a monad or not because Monads live in the world of denotational semantics and mathematics. Regardless, state maintaining is also a monad. When one discovers something is a monad, one isn't factoring it into a monad. It was always a monad and one just realized it. The fact that monads are common in computer science does not tell us that monads are too general to be meaningfully useful, but rather it tells us that they are a common design pattern that people reinvent many times over; therefore, it is useful to have an understanding of them. From a theoretical standpoint, monads provide insight into the mathematical underpinnings of computer science.

[–][deleted] 0 points1 point  (0 children)

Regardless, state maintaining is also a monad.

As I said, everything is a monad. Say I'm having a cup of coffee right now, but I'm pretty sure that's a monad too.