RefSerialize 0.3.0.1 → 0.3.1.0
raw patch · 2 files changed
+12/−9 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Data.RefSerialize: instance [overlap ok] (Serialize a, Ord a, Serialize b) => Serialize (Map a b)
- Data.RefSerialize: instance [overlap ok] (Serialize a, Serialize b) => Serialize (Either a b)
- Data.RefSerialize: instance [overlap ok] (Serialize a, Serialize b) => Serialize (a, b)
- Data.RefSerialize: instance [overlap ok] (Serialize a, Serialize b, Serialize c) => Serialize (a, b, c)
- Data.RefSerialize: instance [overlap ok] (Serialize a, Serialize b, Serialize c, Serialize d) => Serialize (a, b, c, d)
- Data.RefSerialize: instance [overlap ok] (Show a, Read a) => Serialize a
- Data.RefSerialize: instance [overlap ok] Serialize String
- Data.RefSerialize: instance [overlap ok] Serialize a => Serialize (Maybe a)
- Data.RefSerialize: instance [overlap ok] Serialize a => Serialize [a]
+ Data.RefSerialize: instance [incoherent] (Serialize a, Ord a, Serialize b) => Serialize (Map a b)
+ Data.RefSerialize: instance [incoherent] (Serialize a, Serialize b) => Serialize (Either a b)
+ Data.RefSerialize: instance [incoherent] (Serialize a, Serialize b) => Serialize (a, b)
+ Data.RefSerialize: instance [incoherent] (Serialize a, Serialize b, Serialize c) => Serialize (a, b, c)
+ Data.RefSerialize: instance [incoherent] (Serialize a, Serialize b, Serialize c, Serialize d) => Serialize (a, b, c, d)
+ Data.RefSerialize: instance [incoherent] Serialize String
+ Data.RefSerialize: instance [incoherent] Serialize a => Serialize (Maybe a)
+ Data.RefSerialize: instance [incoherent] Serialize a => Serialize [a]
Files
- Data/RefSerialize.hs +9/−8
- RefSerialize.cabal +3/−1
Data/RefSerialize.hs view
@@ -3,6 +3,7 @@ -XFlexibleInstances -XUndecidableInstances -XOverloadedStrings+ -XIncoherentInstances #-} -----------------------------------------------------------------------------@@ -415,11 +416,7 @@ -- -------------Instances -instance Serialize String where- showp = showpText- readp = readpText - instance Serialize a => Serialize [a] where showp []= insertString "[]" showp (x:xs)= do@@ -481,7 +478,11 @@ -} +instance Serialize String where+ showp = showpText+ readp = readpText + instance (Serialize a, Serialize b) => Serialize (a, b) where showp (x, y)= do insertString "("@@ -610,11 +611,11 @@ take1 s n= anyChar >>= \x -> take1 (snoc s x ) (n-1) --- | defualt instances+-- | default instances -instance (Show a, Read a )=> Serialize a where- showp= showpText- readp= readpText+--instance (Show a, Read a )=> Serialize a where+-- showp= showpText+-- readp= readpText
RefSerialize.cabal view
@@ -1,5 +1,5 @@ name: RefSerialize-version: 0.3.0.1+version: 0.3.1.0 synopsis: Write to and read from ByteStrings maintaining internal memory references description: Read, Show and Binary instances do not check for internal data references to the same address.@@ -8,6 +8,8 @@ it allocates multiple copies for the same object when referenced multiple times. Because multiple referenced data is very typical in a pure language such is Haskell, this means that the resulting data loose the beatiful economy of space and processing time that referential transparency permits.+ .+ In this release the default "(Read a, Show a) => Refserialize a" has been removed. . See "Data.RefSerialize" for details