Hacker News new | ask | show | jobs
by davdar 4247 days ago
That's like saying "your program is more elegant if it has no monads". It's an incorrect statement. The monadic version is perfectly elegant. Even better: it's the right one.
1 comments

By the same logic scanl should just have the type:

    (b -> IO a) -> [b] -> IO [a]
instead of

    (a -> b -> a) -> a -> [b] -> [a]
Just putting the whole thing in the IO/ST monad isn't the right solution when you need a very specific form of local state.