2 ms·
Haskell doesn't stop you from doing IO everywhere. Do pointer arithmetic with in-place mutation if you want. Segfault it if you want. The "over-zealous axiom
by mrkeen 7y ago
Haskell doesn't stop you from doing IO everywhere. Do pointer arithmetic with in-place mutation if you want. Segfault it if you want.
The "over-zealous axioms" you refer to can be boiled down to: if you do mutation in a function, don't give it a pure type.
- carterschonwald 7y agoIndeed! It’s an excellent low level imperative language. And amusingly enough bits low level libraries like vector and primitive that actually motivate a lot of the really fantastic type system innovations in ghc over time. https://hackage.haskell.org/package/monad-ste https://hackage.haskell.org/package/monad-ste Is a fun imperative data structures with abort only exception lib I wrote a while ago that I’m still quite proud of