News for hackers. Stuff that matters.
Re:Introducing Haskell to a Company by unhammer on Thursday October 04, 2018 @03:15AM (#18137841)
> mutation (especially if localized and doesn't leak outside of a function) can really help functional code become a lot faster

There's this magical thing in Haskell called the "ST Monad", where you can have a pure function (does not have IO in its type signature, does not use unsafePerformIO) that takes a normal value, returns another value, but can use mutation inside the function, and the type system guarantees that the mutation doesn't "leave" the function. So for those cases where, in C++ I would think "this function is pure enough, it doesn't print or order fish food, though it does mutate this temporary array", Haskell's compiler will actually confirm for you "yeah, you're right, it is pure enough".

There are no comments on this comment yet.