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
- data Arr m :: * -> * -> *
- 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 ()
- 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
- data UArr m :: * -> * -> *
Documentation
class Monad m => MonadArray m where Source
Arr m serves as a canonical choice of boxed MArray
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 |