Comment by anon291
19 days ago
There is no 'so?' Haskell tends towards applicatives and monads because monads and applicatives are the preferences of haskellers. Just like JavaScript people may like dynamic typing, etc. These are design choices.
By modeling various things as monads, you get the various principled monad extensions. Unlike normal programming where leaky abstractions are the expectation, using algebraic structures with principled laws means things just work.
But this has nothing to do with monads in particular. Haskell's choice to do a lot with monoids provides a similar guarantee about things that combine . It's a preference. Nothing like monoids exist in other languages, because people are told they have to think with 'objects' of whatever.
> Nothing like monoids exist in other languages
Monoids exist in plenty other languages. Hell, I use them in TypeScript.
Once again, TypeScript is a nice type checker for JavaScript, but the semantics of TypeScript are untyped.