| Copyright | (C) 2011 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <[email protected]> |
| Stability | provisional |
| Portability | type families, MPTCs |
| Safe Haskell | None |
| Language | Haskell98 |
Control.Monad.Array.Class
Description
- class Monad m => MonadArray m where
- class (MonadArray m, MArray (UArr m) Bool m, MArray (UArr m) Char m, MArray (UArr m) Int m, MArray (UArr m) Word m, MArray (UArr m) Double m, MArray (UArr m) Float m, MArray (UArr m) Int8 m, MArray (UArr m) Int16 m, MArray (UArr m) Int32 m, MArray (UArr m) Int64 m, MArray (UArr m) Word8 m, MArray (UArr m) Word16 m, MArray (UArr m) Word32 m, MArray (UArr m) Word64 m, MArray1 (UArr m) StablePtr m, MArray1 (UArr m) FunPtr m, MArray1 (UArr m) Ptr m) => MonadUArray m where
Documentation
class Monad m => MonadArray m where Source #
Arr m serves as a canonical choice of boxed MArray
Minimal complete definition
getBoundsM, getNumElementsM, newArrayM, newArrayM_, unsafeNewArrayM_, unsafeReadM, unsafeWriteM
Methods
getBoundsM :: Ix i => Arr m i e -> m (i, i) Source #
getNumElementsM :: Ix i => Arr m i e -> m Int Source #
newArrayM :: Ix i => (i, i) -> e -> m (Arr m i e) Source #
newArrayM_ :: Ix i => (i, i) -> m (Arr m i e) Source #
unsafeNewArrayM_ :: Ix i => (i, i) -> m (Arr m i e) Source #
unsafeReadM :: Ix i => Arr m i e -> Int -> m e Source #
unsafeWriteM :: Ix i => Arr m i e -> Int -> e -> m () Source #
Instances
| MonadArray IO Source # | |
| MonadArray STM Source # | |
| (MonadTrans t, Monad (t m), MonadArray m) => MonadArray (t m) Source # | |
| MonadArray (ST s) Source # | |
class (MonadArray m, MArray (UArr m) Bool m, MArray (UArr m) Char m, MArray (UArr m) Int m, MArray (UArr m) Word m, MArray (UArr m) Double m, MArray (UArr m) Float m, MArray (UArr m) Int8 m, MArray (UArr m) Int16 m, MArray (UArr m) Int32 m, MArray (UArr m) Int64 m, MArray (UArr m) Word8 m, MArray (UArr m) Word16 m, MArray (UArr m) Word32 m, MArray (UArr m) Word64 m, MArray1 (UArr m) StablePtr m, MArray1 (UArr m) FunPtr m, MArray1 (UArr m) Ptr m) => MonadUArray m Source #
UArr m provides unboxed arrays, and can be used on the primitive data types:
Bool, Char, Int, Word, Double, Float, Int8, Int16, Int32, Int64, Word8,
Word16, Word32, and Word64
It can be used via MArray1 to store values of types , StablePtr a and FunPtr a'Ptr a' as well.
Instances
| MonadUArray IO Source # | |
| (MonadTrans t, Monad (t m), MonadUArray m) => MonadUArray (t m) Source # | |
| MonadUArray (ST s) Source # | |