monad-levels-0.1.0.1: Specific levels of monad transformers

Copyright(c) Ivan Lazar Miljenovic
License3-Clause BSD-style
MaintainerIvan.Miljenovic@gmail.com
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Levels.Transformers

Contents

Description

 

Synopsis

Documentation

type HasTransformer t m = (SatisfyConstraint (IsTransformer t) m, MonadLevel (TransformedMonad t m), TransformedMonad t m ~ t (LowerMonad (TransformedMonad t m))) Source

Unlike HasBaseMonad, this is not a universal constraint applicable to all MonadLevel instances, as otherwise it can be used to bypass the lack of an allowed constraint.

type TransformedMonad t m = SatMonad (IsTransformer t) m Source

The sub-part of the monadic stack where the requested transformer is on top.

Exported for use with custom instances