| Copyright | (C) 2011 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| 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 #
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) #
getNumElementsM :: Ix i => Arr m i e -> m Int #
newArrayM :: Ix i => (i, i) -> e -> m (Arr m i e) #
newArrayM_ :: Ix i => (i, i) -> m (Arr m i e) #
unsafeNewArrayM_ :: Ix i => (i, i) -> m (Arr m i e) #
unsafeReadM :: Ix i => Arr m i e -> Int -> m e #
unsafeWriteM :: Ix i => Arr m i e -> Int -> e -> m () #
Instances
| MonadArray IO # | |
| MonadArray STM # | |
| (MonadTrans t, Monad (t m), MonadArray m) => MonadArray (t m) # | |
| MonadArray (ST s) # | |
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 #
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 # | |
| (MonadTrans t, Monad (t m), MonadUArray m) => MonadUArray (t m) # | |
| MonadUArray (ST s) # | |