+ -- | DEPRECATED, here for backwards compatibilty. Instances can
+ -- define either 'gmask', or both 'block' and 'unblock'.
+ gblock :: m a -> m a
+ -- | DEPRECATED, here for backwards compatibilty Instances can
+ -- define either 'gmask', or both 'block' and 'unblock'.
+ gunblock :: m a -> m a
+ -- XXX we're keeping these two methods for the time being because we
+ -- have to interact with Haskeline's MonadException class which
+ -- still has block/unblock; see GhciMonad.hs.
+
+ gmask f = gblock (f gunblock)
+ gblock f = gmask (\_ -> f)
+ gunblock f = f -- XXX wrong; better override this if you need it