3.1 A Core Calculus for Disentanglement
Abstract syntax. Figure 4 shows the syntax of the language HP.
The types include natural numbers (as the sole base type), functions
and products. To present a precise accounting of memory operations,
we distinguish between large values v, which are always
allocated in the heap, and small values consisting only of memory
locations, written `. Large values include natural numbers, named
recursive functions and pairs of heap locations. Large values are not
irreducible, but rather step to heap locations `, which are the only
irreducible values of the language. Since small values consist only
of locations, we use the term “value” to refer to a large value and
“location” to refer to a small value.