
19 Apr
2010
19 Apr
'10
6:54 p.m.
On Mon, Apr 19, 2010 at 5:54 PM, Simon Marlow
So I think I like this variant, even though it adds a little API overhead. Anyone else have any thoughts on this?
I do think the RankNTypes version: mask :: ((forall b. IO b -> IO b) -> IO a) -> IO a is easier to use and explain because it doesn't require the extra 'restore' function. What are the problems with RankNTypes? I can imagine that one problem is not being haskell98. However the Control.Exception module is also not haskell98 due to the existentially quantified SomeException constructor: data SomeException = forall e . Exception e => SomeException e regards, Bas