| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Syntactic.Constructs.Monad
Description
Monadic constructs
This module is based on the paper Generic Monadic Constructs for Embedded Languages (Persson et al., IFL 2011 http://www.cse.chalmers.se/~emax/documents/persson2011generic.pdf).
Documentation
data MONAD m sig where Source #
Constructors
| Return :: MONAD m (a :-> Full (m a)) | |
| Bind :: MONAD m (m a :-> ((a -> m b) :-> Full (m b))) | |
| Then :: MONAD m (m a :-> (m b :-> Full (m b))) | |
| When :: MONAD m (Bool :-> (m () :-> Full (m ()))) |
Instances
| Monad m => Semantic (MONAD m) Source # | |
| Monad m => StringTree (MONAD m) Source # | |
Defined in Language.Syntactic.Constructs.Monad | |
| Monad m => Render (MONAD m) Source # | |
| Monad m => Eval (MONAD m) Source # | |
Defined in Language.Syntactic.Constructs.Monad Methods evaluate :: MONAD m a -> Denotation a Source # | |
| Monad m => Equality (MONAD m) Source # | |
| Constrained (MONAD m) Source # | |
| Monad m => EvalBind (MONAD m) Source # | |
| (AlphaEq dom dom dom env, Monad m) => AlphaEq (MONAD m) (MONAD m) dom env Source # | |
| type Sat (MONAD m) Source # | |
Defined in Language.Syntactic.Constructs.Monad | |