monadic-arrays 0.2.0.1 → 0.2.0.2
raw patch · 2 files changed
+21/−21 lines, 2 filesdep ~arrayPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: array
API changes (from Hackage documentation)
- Control.Monad.Array.Class: class Monad m => MonadArray m where { data family Arr m :: * -> * -> *; }
+ Control.Monad.Array.Class: class Monad m => MonadArray m where data family Arr m :: * -> * -> *
- Control.Monad.Array.Class: 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 family UArr m :: * -> * -> *; }
+ Control.Monad.Array.Class: 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 family UArr m :: * -> * -> *
Files
- Control/Monad/Array/Class.hs +17/−17
- monadic-arrays.cabal +4/−4
Control/Monad/Array/Class.hs view
@@ -50,9 +50,9 @@ unsafeWrite = unsafeWriteM instance MonadArray IO where- newtype Arr IO i e = ArrIO { runArrIO :: IOArray i e } + newtype Arr IO i e = ArrIO { runArrIO :: IOArray i e } - getBoundsM = getBounds . runArrIO + getBoundsM = getBounds . runArrIO getNumElementsM = getNumElements . runArrIO newArrayM bs e = ArrIO <$> newArray bs e newArrayM_ bs = ArrIO <$> newArray_ bs@@ -61,9 +61,9 @@ unsafeWriteM (ArrIO a) i e = unsafeWrite a i e instance MonadArray (ST s) where- newtype Arr (ST s) i e = ArrST { runArrST :: STArray s i e } + newtype Arr (ST s) i e = ArrST { runArrST :: STArray s i e } - getBoundsM = getBounds . runArrST + getBoundsM = getBounds . runArrST getNumElementsM = getNumElements . runArrST newArrayM bs e = ArrST <$> newArray bs e newArrayM_ bs = ArrST <$> newArray_ bs@@ -83,7 +83,7 @@ unsafeWriteM (ArrSTM a) i e = unsafeWrite a i e instance (MonadTrans t, Monad (t m), MonadArray m) => MonadArray (t m) where- newtype Arr (t m) i e = ArrT { runArrT :: Arr m i e } + newtype Arr (t m) i e = ArrT { runArrT :: Arr m i e } getBoundsM = lift . getBounds . runArrT getNumElementsM = lift . getNumElements . runArrT@@ -94,14 +94,14 @@ unsafeWriteM (ArrT a) i e = lift $ unsafeWrite a i e -- | 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@, @'FunPtr' a@ and @'Ptr a'@ as well. -class - ( MonadArray m +class+ ( MonadArray m , MArray (UArr m) Bool m , MArray (UArr m) Char m , MArray (UArr m) Int m@@ -118,7 +118,7 @@ , MArray (UArr m) Word64 m , MArray1 (UArr m) StablePtr m , MArray1 (UArr m) FunPtr m- , MArray1 (UArr m) Ptr m + , MArray1 (UArr m) Ptr m ) => MonadUArray m where data UArr m :: * -> * -> * @@ -139,9 +139,9 @@ unsafeNewArray1_ bs = UArrIO <$> unsafeNewArray1_ bs unsafeRead1 (UArrIO a) i = unsafeRead1 a i unsafeWrite1 (UArrIO a) i e = unsafeWrite1 a i e- + instance MonadUArray IO where- newtype UArr IO i e = UArrIO { runUArrIO :: IOUArray i e } + newtype UArr IO i e = UArrIO { runUArrIO :: IOUArray i e } instance MArray (STUArray s) e (ST s) => MArray (UArr (ST s)) e (ST s) where getBounds = getBounds . runUArrST@@ -160,10 +160,10 @@ unsafeNewArray1_ bs = UArrST <$> unsafeNewArray1_ bs unsafeRead1 (UArrST a) i = unsafeRead1 a i unsafeWrite1 (UArrST a) i e = unsafeWrite1 a i e- + instance MonadUArray (ST s) where- newtype UArr (ST s) i e = UArrST { runUArrST :: STUArray s i e } - + newtype UArr (ST s) i e = UArrST { runUArrST :: STUArray s i e }+ instance (MonadTrans t, Monad (t m), MonadUArray m, MArray (UArr m) e m) => MArray (UArr (t m)) e (t m) where getBounds = lift . getBounds . runUArrT getNumElements = lift . getNumElements . runUArrT@@ -181,6 +181,6 @@ unsafeNewArray1_ bs = lift $ UArrT `liftM` unsafeNewArray1_ bs unsafeRead1 (UArrT a) i = lift $ unsafeRead1 a i unsafeWrite1 (UArrT a) i e = lift $ unsafeWrite1 a i e- + instance (MonadTrans t, Monad (t m), MonadUArray m) => MonadUArray (t m) where- newtype UArr (t m) i e = UArrT { runUArrT :: UArr m i e } + newtype UArr (t m) i e = UArrT { runUArrT :: UArr m i e }
monadic-arrays.cabal view
@@ -1,6 +1,6 @@ name: monadic-arrays category: Data Structures-version: 0.2.0.1+version: 0.2.0.2 license: BSD3 cabal-version: >= 1.6 license-file: LICENSE@@ -18,9 +18,9 @@ location: git://github.com/ekmett/monadic-arrays.git library- build-depends: + build-depends: base >= 4 && < 5,- array >= 0.3.0.2 && < 0.4,+ array >= 0.3.0.2 && < 0.5, transformers >= 0.2.0 && < 0.3, stm >= 2.1.2.1 && < 2.3 @@ -28,4 +28,4 @@ Control.Monad.Array.Class Data.Array.MArray.Extras - ghc-options: -Wall + ghc-options: -Wall