ivory-0.1.0.0: Safe embedded C programming.

Safe HaskellNone

Ivory.Language.Loop

Synopsis

Documentation

breakOut :: GetBreaks eff ~ Break => Ivory eff ()Source

loop :: forall eff n a. SingI n => (Expr -> LoopIncr) -> Ix n -> Ix n -> (Ix n -> Ivory (AllowBreak eff) a) -> Ivory eff ()Source

upTo :: SingI n => Ix n -> Ix n -> (Ix n -> Ivory (AllowBreak eff) a) -> Ivory eff ()Source

downTo :: SingI n => Ix n -> Ix n -> (Ix n -> Ivory (AllowBreak eff) a) -> Ivory eff ()Source

for :: forall eff n a. SingI n => Ix n -> (Ix n -> Ivory (AllowBreak eff) a) -> Ivory eff ()Source

Run the computation n times, where for n :: Ix m, 0 <= n < m. Indexes increment from 0 to n-1.

times :: forall eff n a. SingI n => Ix n -> (Ix n -> Ivory (AllowBreak eff) a) -> Ivory eff ()Source

Run the computation n times, where for n :: Ix m, 0 <= n < m. Indexes decrement from n-1 to 0.

arrayMap :: forall eff n a. SingI n => (Ix n -> Ivory (AllowBreak eff) a) -> Ivory eff ()Source

forever :: Ivory (AllowBreak eff) () -> Ivory eff ()Source