Heap allocation

Allows us to dynamically allocate memory for data structures in whatever order.

It is difficult to efficiently do so however.

Definition

Nodes

Stack frames, operand stacks, environment, closures.

Edges

References between nodes.

E.g. operand stack references a closure.