[Haskell-cafe] Re: Asynchronous exception wormholes kill modularity

Bas van Dijk v.dijk.bas at gmail.com
Mon Apr 19 18:54:21 EDT 2010

On Mon, Apr 19, 2010 at 5:54 PM, Simon Marlow <marlowsd at gmail.com> wrote:
> 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



More information about the Haskell-Cafe mailing list