ghc-compact

In memory storage of deeply evaluated data structure

Version on this page:0.1.0.0
LTS Haskell 22.40:0.1.0.0@rev:5
Stackage Nightly 2024-11-06:0.1.0.0
Latest on Hackage:0.1.0.0@rev:5

See all snapshots ghc-compact appears in

BSD-3-Clause licensed
Maintained by [email protected]
This version can be pinned in stack with:ghc-compact-0.1.0.0@sha256:996e8395da7b7d8c4972083e6ee814a1a48aaac3c652f0314bef222d3b225e7f,1693

Module documentation for 0.1.0.0

This package provides minimal functionality for working with "compact regions", which hold a fully evaluated Haskell object graph. These regions maintain the invariant that no pointers live inside the struct that point outside it, which ensures efficient garbage collection without ever reading the structure contents (effectively, it works as a manually managed "oldest generation" which is never freed until the whole is released).

Internally, the struct is stored a single contiguous block of memory, which allows efficient serialization and deserialization of structs for distributed computing.

This package provides a low-level API; see also the compact package which provides a user-facing API.