Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / doc / guide / localhost / Reachability
CommitLineData
7f918cf1
CE
1<!DOCTYPE html>\r
2<html lang="en">\r
3<head>\r
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
5<meta name="generator" content="AsciiDoc 8.6.9">\r
6<title>Reachability</title>\r
7<link rel="stylesheet" href="./asciidoc.css" type="text/css">\r
8<link rel="stylesheet" href="./pygments.css" type="text/css">\r
9\r
10\r
11<script type="text/javascript" src="./asciidoc.js"></script>\r
12<script type="text/javascript">\r
13/*<![CDATA[*/\r
14asciidoc.install();\r
15/*]]>*/\r
16</script>\r
17<link rel="stylesheet" href="./mlton.css" type="text/css">\r
18</head>\r
19<body class="article">\r
20<div id="banner">\r
21<div id="banner-home">\r
22<a href="./Home">MLton 20180207</a>\r
23</div>\r
24</div>\r
25<div id="header">\r
26<h1>Reachability</h1>\r
27</div>\r
28<div id="content">\r
29<div id="preamble">\r
30<div class="sectionbody">\r
31<div class="paragraph"><p>Reachability is a notion dealing with the graph of heap objects\r
32maintained at runtime. Nodes in the graph are heap objects and edges\r
33correspond to the pointers between heap objects. As the program runs,\r
34it allocates new objects (adds nodes to the graph), and those new\r
35objects can contain pointers to other objects (new edges in the\r
36graph). If the program uses mutable objects (refs or arrays), it can\r
37also change edges in the graph.</p></div>\r
38<div class="paragraph"><p>At any time, the program has access to some finite set of <em>root</em>\r
39nodes, and can only ever access nodes that are reachable by following\r
40edges from these root nodes. Nodes that are <em>unreachable</em> can be\r
41garbage collected.</p></div>\r
42</div>\r
43</div>\r
44<div class="sect1">\r
45<h2 id="_also_see">Also see</h2>\r
46<div class="sectionbody">\r
47<div class="ulist"><ul>\r
48<li>\r
49<p>\r
50<a href="MLtonFinalizable">MLtonFinalizable</a>\r
51</p>\r
52</li>\r
53<li>\r
54<p>\r
55<a href="MLtonWeak">MLtonWeak</a>\r
56</p>\r
57</li>\r
58</ul></div>\r
59</div>\r
60</div>\r
61</div>\r
62<div id="footnotes"><hr></div>\r
63<div id="footer">\r
64<div id="footer-text">\r
65</div>\r
66<div id="footer-badges">\r
67</div>\r
68</div>\r
69</body>\r
70</html>\r