stateful-mtl-1.0.1: Stateful monad transformers with pure evaluation semantics.



A monad that cleanly generalizes out implementation details of array manipulation in an array transformer. In general, this is likely to be the most efficient array transformer implementation made available in this library, but if improperly used, elements of this implementation may lead to segfaults.



data ArrayM s e a Source

Monad transformer that safely grants the underlying monad access to a mutable array.


MonadST s (ArrayM s e) 
MonadArray e (ArrayM s e) 
Monad (ArrayM s e) 
MonadFix (ArrayM s e) 

runArrayM :: Int -> e -> (forall s. ArrayM s e a) -> aSource

runArrayM_ :: Int -> (forall s. ArrayM s e a) -> aSource