
11 Jun
2009
11 Jun
'09
1:51 a.m.
Henning Thielemann
On the other hand, maybe it's also an argument to change all the functions like forkIO to (:: IO a -> IO ThreadID)
No, I think it is already bad enough, that (>>) has type (m a -> m b -> m b) instead of (m () -> m b -> m b). It is like automatically ignoring return values in C. It is too easy to ignore a result that is important.
Exactly what I was going to say. I think "ignore" is fine as a kludge-around, and I'm definitely +1 for it. However, if I want to ignore the result of, say, getLine, it's easy enough to write (getLine >>= \_ -> ...), which makes it clear that I meant to do that.