| Safe Haskell | None |
|---|
Feldspar.Core.Constructs.Loop
Documentation
data LoopM m a where
Constructors
| While :: Size (m ()) ~ AnySize => LoopM m (m Bool :-> (m a :-> Full (m ()))) | |
| For :: Size (m ()) ~ AnySize => LoopM m (Length :-> ((Index -> m a) :-> Full (m ()))) |
Instances
| Monad m => EvalBind (LoopM m) | |
| Monad m => Semantic (LoopM m) | |
| Monad m => Eval (LoopM m) | |
| Monad m => Render (LoopM m) | |
| Monad m => ToTree (LoopM m) | |
| Monad m => Equality (LoopM m) | |
| SizeProp (LoopM m) | |
| Sharable (LoopM m) | |
| (MonadType m, :<: (LoopM m) dom, :<: (CLambda Type) dom, Optimize dom dom) => Optimize (LoopM m) dom | |
| (AlphaEq dom dom dom env, Monad m) => AlphaEq (LoopM m) (LoopM m) dom env |
data Loop a where
Constructors
| ForLoop :: Type a => Loop (Length :-> (a :-> ((Index -> a -> a) :-> Full a))) | |
| WhileLoop :: Type a => Loop (a :-> ((a -> Bool) :-> ((a -> a) :-> Full a))) |
Instances
| EvalBind Loop | |
| Semantic Loop | |
| Eval Loop | |
| Render Loop | |
| ToTree Loop | |
| Equality 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, OptimizeSuper dom) => Optimize (:|| Loop Type) dom |