Portability | type families, MPTCs |
---|---|
Stability | provisional |
Maintainer | Edward Kmett <ekmett@gmail.com> |
- 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
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
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.
MonadUArray IO | |
(MonadTrans t, Monad (t m), MonadUArray m) => MonadUArray (t m) | |
MonadUArray (ST s) |