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 |
- 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
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
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.
MonadUArray IO Source | |
(MonadTrans t, Monad (t m), MonadUArray m) => MonadUArray (t m) Source | |
MonadUArray (ST s) Source |