cabal-version:  1.12
name:           ghc-compact
version:        0.1.0.0
-- NOTE: Don't forget to update ./changelog.md
license:        BSD3
license-file:   LICENSE
maintainer:     libraries@haskell.org
bug-reports:    https://gitlab.haskell.org/ghc/ghc/issues/new
synopsis:       In memory storage of deeply evaluated data structure
category:       Data
description:
    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 </package/compact
    compact package> which provides a user-facing API.
build-type:     Simple
tested-with:    GHC==7.11

source-repository head
  type:     git
  location: https://gitlab.haskell.org/ghc/ghc.git
  subdir:   libraries/ghc-compact

library
  default-language: Haskell2010
  other-extensions:
    MagicHash
    BangPatterns
    UnboxedTuples
    CPP

  build-depends: ghc-prim   >= 0.5.3 && < 0.8,
                 base       >= 4.9.0 && < 4.16,
                 bytestring >= 0.10.6.0
  ghc-options: -Wall

  exposed-modules: GHC.Compact
                   GHC.Compact.Serialized
