feldspar-language-0.6.0.2: A functional embedded language for DSP and parallelism

Safe HaskellNone

Feldspar.Core.Constructs.Loop

Documentation

data LoopM m a whereSource

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) 
(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 whereSource

Constructors

ForLoop :: Type a => Loop (Length :-> (a :-> ((Index -> a -> a) :-> Full a))) 
WhileLoop :: Type a => Loop (a :-> ((a -> Bool) :-> ((a -> a) :-> Full a)))