| Safe Haskell | Safe |
|---|
Control.Monad.MultiPass.Instrument.DelayedLift
Description
The DelayedLift instrument is stateless and provides a similar
interface to readOnlyST2ToMP. The difference is that it only
executes the read-only computation once the specified pass is reached.
- data DelayedLift r w p1 tc
- delayedLift :: Monad p1 => DelayedLift r w p1 tc -> p1 (ReadOnlyST2 r a) -> MultiPass r w tc (p1 a)
- readST2ArrayMP :: (Ix i, Monad p1) => DelayedLift r w p1 tc -> p1 (ST2Array r w i a) -> i -> MultiPass r w tc (p1 a)
Documentation
data DelayedLift r w p1 tc Source
Abstract datatype for the instrument.
Instances
| Instrument tc () () (DelayedLift r w On tc) | |
| Instrument tc () () (DelayedLift r w Off tc) |
delayedLift :: Monad p1 => DelayedLift r w p1 tc -> p1 (ReadOnlyST2 r a) -> MultiPass r w tc (p1 a)Source
Execute the read-only computation during pass p1.
readST2ArrayMP :: (Ix i, Monad p1) => DelayedLift r w p1 tc -> p1 (ST2Array r w i a) -> i -> MultiPass r w tc (p1 a)Source
readST2ArrayMP is a simple application of delayedLift. It
reads an index of the array during pass p1. This is particularly
useful if the array does not exist in earlier passes, for example
because it was created by the
CreateST2Array
instrument.