mirror of
https://github.com/jberthold/packman.git
synced 2024-09-11 13:45:24 +03:00
Evaluation-orthogonal serialisation of Haskell data, as a library
If packing hits a blackhole, the packing thread should block and retry, to get consistent behaviour at the Haskell level. To enable this from Haskell, the core routine now checks and evaluates the blackhole before retrying (i.e. blocks on the known-to-be-blackholed data). As the blackhole is not necessarily (and most likely not) the graphroot, the C code writes its address into the buffer at position 0. This is OK since packing fails anyway, so the buffer won't hold any useful data. |
||
---|---|---|
cbits | ||
GHC | ||
Test | ||
.gitignore | ||
LICENSE | ||
pack.old | ||
packman.cabal | ||
Setup.hs |