Comment

Comment by still_grokking

The key word here was "mandatory usage".

BTW: Haskell uses its IO wrapper also only for a very narrow set of effects.

One of my favorite examples: `head []` will result in a crash at runtime. IO won't safe you. (Besides that the whole "effect wrapping" story in Haskell is anyway shallow at best. There is nothing like "none observable effects" at all as every computation needs to happen in space-time, leaving observable traces therein; you can't define away "side channels" and call the result "pure"; that's mocking reality).

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton