Backport from sid to buster
[hcoop/debian/mlton.git] / doc / guide / src / Reachability.adoc
CommitLineData
7f918cf1
CE
1Reachability
2============
3
4Reachability is a notion dealing with the graph of heap objects
5maintained at runtime. Nodes in the graph are heap objects and edges
6correspond to the pointers between heap objects. As the program runs,
7it allocates new objects (adds nodes to the graph), and those new
8objects can contain pointers to other objects (new edges in the
9graph). If the program uses mutable objects (refs or arrays), it can
10also change edges in the graph.
11
12At any time, the program has access to some finite set of _root_
13nodes, and can only ever access nodes that are reachable by following
14edges from these root nodes. Nodes that are _unreachable_ can be
15garbage collected.
16
17== Also see ==
18
19 * <:MLtonFinalizable:>
20 * <:MLtonWeak:>