syntactic-0.9: Generic abstract syntax, and utilities for embedded languages

Safe HaskellNone

Language.Syntactic.Constructs.Monad

Description

Monadic constructs

Synopsis

Documentation

data MONAD m a whereSource

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

MaybeWitnessSat ctx (MONAD m) 
WitnessCons (MONAD m) 
Monad m => ExprEq (MONAD m) 
Monad m => ToTree (MONAD m) 
Monad m => Render (MONAD m) 
Monad m => Eval (MONAD m) 
Monad m => Semantic (MONAD m) 
Monad m => EvalBind (MONAD m) 
(AlphaEq dom dom dom env, Monad m) => AlphaEq (MONAD m) (MONAD m) dom env 

prjMonad :: MONAD m :<: sup => Proxy (m ()) -> sup a -> Maybe (MONAD m a)Source

Projection with explicit monad type