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) # | |