RefSerialize: Write to and read from ByteStrings maintaining internal memory references
Read, Show and Binary instances do not check for internal data references to the same address. As a result, the data is duplicated when serialized. This is a waste of space in the filesystem and also a waste of serialization time. but the worst consequence is that, when the serialized data is read, 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
|Versions [faq]||0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.8.1, 0.3.0.0, 0.3.0.1, 0.3.1.0, 0.3.1.1, 0.3.1.2, 0.3.1.3, 0.3.1.4, 0.4.0|
|Dependencies||base (==4.*), binary, bytestring, containers, hashtables [details]|
|Author||Alberto Gómez Corona|
|Category||Parsing, Data, Database|
|Uploaded||by AlbertoCorona at Fri Apr 4 12:24:46 UTC 2014|
|Distributions||LTSHaskell:0.4.0, NixOS:0.4.0, Stackage:0.4.0|
|Downloads||10989 total (357 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
Docs available [build log]
Successful builds reported [all 1 reports]
For package maintainers and hackage trustees