Portability | type families, MPTCs |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <[email protected]> |
Safe Haskell | Safe-Infered |
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 whereSource
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 IntSource
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 eSource
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 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 | |
(MonadTrans t, Monad (t m), MonadUArray m) => MonadUArray (t m) | |
MonadUArray (ST s) |