syntax-tree-0.1.0.1: Typed ASTs

Safe HaskellNone
LanguageHaskell2010

AST.Class.Monad

Description

A variant of Monad for Knots

Synopsis

Documentation

class KApplicative k => KMonad k where Source #

A variant of Monad for Knots

Methods

joinK :: Recursively KFunctor p => Tree (Compose k k) p -> Tree k p Source #

Instances
KMonad Pure Source # 
Instance details

Defined in AST.Class.Monad

Monad f => KMonad (F f) Source # 
Instance details

Defined in AST.Knot.Functor

Methods

joinK :: Recursively KFunctor p => Tree (Compose (F f) (F f)) p -> Tree (F f) p Source #

Monoid a => KMonad (Ann a) Source # 
Instance details

Defined in AST.Knot.Ann

Methods

joinK :: Recursively KFunctor p => Tree (Compose (Ann a) (Ann a)) p -> Tree (Ann a) p Source #

bindK :: (KMonad k, Recursively KFunctor p) => Tree k p -> (forall n. KWitness k n -> Tree p n -> Tree (Compose k p) n) -> Tree k p Source #

A variant of 'Control.Monad.(>>=)' for Knots