Give MonadTrans a QuantifiedConstraints superclass

Baldur Blöndal baldurpet at gmail.com
Tue Jun 1 23:01:24 UTC 2021


This is to advertise the proposal
(https://gitlab.haskell.org/ghc/ghc/-/issues/19922) to add a
superclass to the MonadTrans type class in Control.Monad.Trans.

A Monad transformer 'trans' lifts a 'Monad m' to a 'Monad (trans m)'.

This proposal code-ifies that with a superclass constraint, an
impliciation constraint enabled by the recent extension
QuantifiedConstraints:

    class (forall m. Monad m => Monad (trans m)) => MonadTrans trans where
      ..

This is the main motiviating example of the Quantified Class
Constraints paper https://gkaracha.github.io/papers/quantcs.pdf


More information about the ghc-devs mailing list