<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.23">
<title>Reachability</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,400,400italic,600,600italic%7CNoto+Serif:400,400italic,700,700italic%7CDroid+Sans+Mono:400,700">
<link rel="stylesheet" href="./asciidoctor.css">
<link rel="stylesheet" href="./mlton.css">

</head>
<body class="article">
<div id="mlton-header">
<div id="mlton-header-text">
<h2>
<a href="./Home">
MLton
20241230
</a>
</h2>
</div>
</div>
<div id="header">
<h1>Reachability</h1>
</div>
<div id="content">
<div id="preamble">
<div class="sectionbody">
<div class="paragraph">
<p>Reachability is a notion dealing with the graph of heap objects
maintained at runtime.  Nodes in the graph are heap objects and edges
correspond to the pointers between heap objects.  As the program runs,
it allocates new objects (adds nodes to the graph), and those new
objects can contain pointers to other objects (new edges in the
graph).  If the program uses mutable objects (refs or arrays), it can
also change edges in the graph.</p>
</div>
<div class="paragraph">
<p>At any time, the program has access to some finite set of <em>root</em>
nodes, and can only ever access nodes that are reachable by following
edges from these root nodes.  Nodes that are <em>unreachable</em> can be
garbage collected.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_also_see">Also see</h2>
<div class="sectionbody">
<div class="ulist">
<ul>
<li>
<p><a href="MLtonFinalizable">MLtonFinalizable</a></p>
</li>
<li>
<p><a href="MLtonWeak">MLtonWeak</a></p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="mlton-footer">
<div id="mlton-footer-text">
<div>
Last updated Thu Oct 21 15:53:06 2021 -0400 by Matthew Fluet.
<a href="https://github.com/MLton/mlton/commits/master/doc/guide/src/Reachability.adoc">Log</a>
<a href="https://github.com/MLton/mlton/edit/master/doc/guide/src/Reachability.adoc">Edit</a>
</div>
</div>
</body>
</html>