packages feed

massiv-serialise 0.1.0.0 → 1.0.0.0

raw patch · 6 files changed

+39/−28 lines, 6 filesdep ~massivPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: massiv

API changes (from Hackage documentation)

- Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Codec.Serialise.Class.Serialise ix) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Index.Internal.Sz ix)
- Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Codec.Serialise.Class.Serialise ix, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Boxed.B ix e)
- Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Control.DeepSeq.NFData e, Codec.Serialise.Class.Serialise ix, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Boxed.N ix e)
- Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Data.Primitive.Types.Prim e, Codec.Serialise.Class.Serialise ix, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Primitive.P ix e)
- Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Data.Vector.Unboxed.Base.Unbox e, Codec.Serialise.Class.Serialise ix, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Unboxed.U ix e)
- Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Foreign.Storable.Storable e, Codec.Serialise.Class.Serialise ix, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Storable.S ix e)
+ Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Boxed.B ix e)
+ Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Boxed.BL ix e)
+ Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Control.DeepSeq.NFData e, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Boxed.BN ix e)
+ Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Data.Primitive.Types.Prim e, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Primitive.P ix e)
+ Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Data.Vector.Unboxed.Base.Unbox e, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Unboxed.U ix e)
+ Massiv.Serialise: instance (Data.Massiv.Core.Index.Internal.Index ix, Foreign.Storable.Storable e, Codec.Serialise.Class.Serialise e) => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Common.Array Data.Massiv.Array.Manifest.Storable.S ix e)
+ Massiv.Serialise: instance Data.Massiv.Core.Index.Internal.Index ix => Codec.Serialise.Class.Serialise (Data.Massiv.Core.Index.Internal.Sz ix)
- Massiv.Serialise: decodeArray :: forall v r ix e s. (Typeable v, Vector v e, Mutable (ARepr v) ix e, Mutable r ix e, Serialise ix, Serialise (v e)) => Decoder s (Array r ix e)
+ Massiv.Serialise: decodeArray :: forall v r ix e s. (Typeable v, Vector v e, Load r ix e, Load (ARepr v) ix e, Mutable r e, Serialise (v e)) => Decoder s (Array r ix e)
- Massiv.Serialise: encodeArray :: forall v r ix e. (Manifest r ix e, Mutable (ARepr v) ix e, Vector v e, VRepr (ARepr v) ~ v, Serialise ix, Serialise (v e)) => Array r ix e -> Encoding
+ Massiv.Serialise: encodeArray :: forall v r ix e. (Manifest r e, Load r ix e, Mutable (ARepr v) e, Vector v e, VRepr (ARepr v) ~ v, Serialise (v e)) => Array r ix e -> Encoding

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog for `massiv-serialise` +## 1.0.0.0++* Switch to support `massiv-1.0.0.0`+ ## 0.1.0.0  * Initial release
massiv-serialise.cabal view
@@ -1,5 +1,5 @@ name:                massiv-serialise-version:             0.1.0.0+version:             1.0.0.0 synopsis:            Compatibility of 'massiv' with 'serialise' description:         Orphan 'Serialise' class instances from <https://hackage.haskell.org/package/serialise serialise> package that allow serialization of arrays defined in <https://hackage.haskell.org/package/massiv massiv> package homepage:            https://github.com/lehins/massiv-compat@@ -8,7 +8,7 @@ author:              Alexey Kuleshevich maintainer:          alexey@kuleshevi.ch copyright:           2021 Alexey Kuleshevich-category:            Algorithms+category:            Array, Data Structures, Serialization build-type:          Simple extra-source-files:  README.md                    , CHANGELOG.md@@ -29,7 +29,7 @@   other-modules:   build-depends:       base >= 4.8 && < 5                      , deepseq-                     , massiv >= 0.5.0.0+                     , massiv >= 1.0.0.0                      , serialise >= 0.2.0.0                      , vector 
src/Massiv/Serialise.hs view
@@ -125,7 +125,7 @@         pure acc'   Sz ix <$ foldlIndex (\acc i -> acc >>= guardNegativeOverflow i) (pure 1) ix -instance (Index ix, Serialise ix) => Serialise (Sz ix) where+instance Index ix => Serialise (Sz ix) where   encode = encodeIx . unSz   decode = mkSzFail =<< decodeIx @@ -136,11 +136,11 @@ -- @since 0.1.0 encodeArray ::      forall v r ix e.-     ( Manifest r ix e-     , Mutable (ARepr v) ix e+     ( Manifest r e+     , Load r ix e+     , Mutable (ARepr v) e      , VG.Vector v e      , VRepr (ARepr v) ~ v-     , Serialise ix      , Serialise (v e)      )   => Array r ix e@@ -155,9 +155,9 @@      forall v r ix e s.      ( Typeable v      , VG.Vector v e-     , Mutable (ARepr v) ix e-     , Mutable r ix e-     , Serialise ix+     , Load r ix e+     , Load (ARepr v) ix e+     , Mutable r e      , Serialise (v e)      )   => Decoder s (Array r ix e)@@ -165,26 +165,29 @@   comp <- decode   sz <- decode   vector :: v e <- decode-  -- setComp is to workaround a minor bug for boxed arrays in massiv < 0.6-  either (Fail.fail . show) (pure . setComp comp) $ fromVectorM comp sz vector+  either (Fail.fail . show) pure $ fromVectorM comp sz vector -instance (Index ix, Serialise ix, Serialise e) => Serialise (Array B ix e) where+instance (Index ix, Serialise e) => Serialise (Array BL ix e) where   encode = encodeArray @V.Vector   decode = decodeArray @V.Vector -instance (Index ix, NFData e, Serialise ix, Serialise e) => Serialise (Array N ix e) where+instance (Index ix, Serialise e) => Serialise (Array B ix e) where+  encode = encode . toLazyArray+  decode = evalLazyArray <$> decode++instance (Index ix, NFData e, Serialise e) => Serialise (Array BN ix e) where   encode = encode . unwrapNormalForm-  decode = evalNormalForm <$> decode+  decode = forceLazyArray <$> decode -instance (Index ix, Storable e, Serialise ix, Serialise e) => Serialise (Array S ix e) where+instance (Index ix, Storable e, Serialise e) => Serialise (Array S ix e) where   encode = encodeArray @VS.Vector   decode = decodeArray @VS.Vector -instance (Index ix, Unbox e, Serialise ix, Serialise e) => Serialise (Array U ix e) where+instance (Index ix, Unbox e, Serialise e) => Serialise (Array U ix e) where   encode = encodeArray @VU.Vector   decode = decodeArray @VU.Vector -instance (Index ix, Prim e, Serialise ix, Serialise e) => Serialise (Array P ix e) where+instance (Index ix, Prim e, Serialise e) => Serialise (Array P ix e) where   encode = encodeArray @VP.Vector   decode = decodeArray @VP.Vector 
tests/Main.hs view
@@ -1,6 +1,6 @@ module Main where -import Spec+import Spec (spec) import System.IO (BufferMode (LineBuffering), hSetBuffering, hSetEncoding, stdout, utf8) import Test.Hspec 
tests/Spec.hs view
@@ -1,1 +1,1 @@-{-# OPTIONS_GHC -F -pgmF hspec-discover -optF --no-main #-}+{-# OPTIONS_GHC -F -pgmF hspec-discover -optF --module-name=Spec #-}
tests/Test/Massiv/SerialiseSpec.hs view
@@ -32,10 +32,8 @@      forall r ix e.      ( Eq (Array r ix e)      , Show (Array r ix e)-     , Typeable ix      , Typeable e      , Arbitrary ix-     , Construct r ix e      , Load r ix e      , Arbitrary e      , Serialise (Array r ix e)@@ -104,9 +102,15 @@         roundtripArraySpec @B @Ix3 @Integer         roundtripArraySpec @B @Ix4 @Integer         roundtripArraySpec @B @Ix5 @Integer-      describe "N" $ do-        roundtripArraySpec @N @Ix1 @Integer-        roundtripArraySpec @N @Ix2 @Integer-        roundtripArraySpec @N @Ix3 @Integer-        roundtripArraySpec @N @Ix4 @Integer-        roundtripArraySpec @N @Ix5 @Integer+      describe "BN" $ do+        roundtripArraySpec @BN @Ix1 @Integer+        roundtripArraySpec @BN @Ix2 @Integer+        roundtripArraySpec @BN @Ix3 @Integer+        roundtripArraySpec @BN @Ix4 @Integer+        roundtripArraySpec @BN @Ix5 @Integer+      describe "BL" $ do+        roundtripArraySpec @BL @Ix1 @Integer+        roundtripArraySpec @BL @Ix2 @Integer+        roundtripArraySpec @BL @Ix3 @Integer+        roundtripArraySpec @BL @Ix4 @Integer+        roundtripArraySpec @BL @Ix5 @Integer