Compact Region Short-Circuiting

Andrew Martin andrew.thaddeus at
Thu May 11 01:43:06 UTC 2017

In the paper on compact regions (,
we find the following:

> However, if we want to apply a functional update to this tree, we may
> want to specify the already existing compact region so we can reuse any
> already compacted shared data... appendCompact, like newCompact, fully
> evaluates a; however, it copies the result into the same compact region
> as Compact b. Additionally, it short-circuits the evaluation/copying
> process if a subgraph is already in the target compact region.

However, in the docs for both the compact library and the ghc-compact
library (still only on phabricator), this short-circuiting behavior is
not mentioned. Did this end up in the final implementation on was it
dropped? If it is implemented, I think it's worth mentioning in the
docs for `compactAdd`.

-Andrew Martin

More information about the Libraries mailing list