Safe Haskell | None |
---|
Documentation
While :: Size (m ()) ~ AnySize => LoopM m (m Bool :-> (m a :-> Full (m ()))) | |
For :: Size (m ()) ~ AnySize => LoopM m (Length :-> ((Index -> m a) :-> Full (m ()))) |
Monad m => Semantic (LoopM m) | |
Monad m => StringTree (LoopM m) | |
Monad m => Render (LoopM m) | |
Monad m => Eval (LoopM m) | |
Monad m => Equality (LoopM m) | |
Monad m => EvalBind (LoopM m) | |
Monotonic (LoopM m) | |
SizeProp (LoopM m) | |
Sharable (LoopM m) | |
(:<: (LoopM Mut) dom, :<: (:|| Variable Type) dom, :<: (CLambda Type) dom, :<: (MONAD Mut) dom, :<: MutableReference dom, :<: Let dom, Optimize (CLambda Type) dom, Optimize (MONAD Mut) dom, Optimize dom dom) => Optimize (LoopM Mut) dom | |
(AlphaEq dom dom dom env, Monad m) => AlphaEq (LoopM m) (LoopM m) dom env |
ForLoop :: Type a => Loop (Length :-> (a :-> ((Index -> a -> a) :-> Full a))) | |
WhileLoop :: Type a => Loop (a :-> ((a -> Bool) :-> ((a -> a) :-> Full a))) |
Semantic Loop | |
StringTree Loop | |
Render Loop | |
Eval Loop | |
Equality Loop | |
EvalBind Loop | |
Monotonic Loop | |
Sharable Loop | |
AlphaEq dom dom dom env => AlphaEq Loop Loop dom env | |
SizeProp (:|| Loop Type) | |
(:<: (:|| Literal Type) dom, :<: (:|| Loop Type) dom, :<: (:|| Variable Type) dom, :<: (CLambda Type) dom, :<: Let dom, OptimizeSuper dom) => Optimize (:|| Loop Type) dom |