
3 Nov
2014
3 Nov
'14
10:16 a.m.
Simon Peyton Jones wrote:
It's not a big deal.
You can probably replace both those bindIOName uses with bindMName (i.e (>>=)), in TcRnDriver. That will just make GHCi generate code with uses of overloaded (>>=) that must be evaluated, rather than calling bindIO directly. It should work just fine, but it'll make everything a tiny bit slower and more indirect. If it simplified the code a lot, then fine, but it doesn't really. So I'm inclined to leave it.
That's fine; I don't know why my search didn't turn that up (perhaps it's referenced in some weird indirect way). If we're going to keep thenIO, we should surely define (*>) = (>>) = thenIO, right?