Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / localhost / SMLofNJStructure
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>SMLofNJStructure</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>SMLofNJStructure</h1>\r
27</div>\r
28<div id="content">\r
29<div id="preamble">\r
30<div class="sectionbody">\r
31<div class="listingblock">\r
32<div class="content"><div class="highlight"><pre><span class="k">signature</span><span class="w"> </span><span class="n">SML_OF_NJ</span><span class="w"> </span><span class="p">=</span><span class="w"></span>\r
33<span class="w"> </span><span class="k">sig</span><span class="w"></span>\r
34<span class="w"> </span><span class="k">structure</span><span class="w"> </span><span class="n">Cont</span><span class="p">:</span><span class="w"></span>\r
35<span class="w"> </span><span class="k">sig</span><span class="w"></span>\r
36<span class="w"> </span><span class="k">type</span><span class="w"> </span><span class="n">&#39;a</span><span class="w"> </span><span class="n">cont</span><span class="w"></span>\r
37<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">callcc</span><span class="p">:</span><span class="w"> </span><span class="p">(</span><span class="n">&#39;a</span><span class="w"> </span><span class="n">cont</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">&#39;a</span><span class="p">)</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">&#39;a</span><span class="w"></span>\r
38<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">isolate</span><span class="p">:</span><span class="w"> </span><span class="p">(</span><span class="n">&#39;a</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">unit</span><span class="p">)</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">&#39;a</span><span class="w"> </span><span class="n">cont</span><span class="w"></span>\r
39<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">throw</span><span class="p">:</span><span class="w"> </span><span class="n">&#39;a</span><span class="w"> </span><span class="n">cont</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">&#39;a</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">&#39;b</span><span class="w"></span>\r
40<span class="w"> </span><span class="k">end</span><span class="w"></span>\r
41<span class="w"> </span><span class="k">structure</span><span class="w"> </span><span class="n">SysInfo</span><span class="p">:</span><span class="w"></span>\r
42<span class="w"> </span><span class="k">sig</span><span class="w"></span>\r
43<span class="w"> </span><span class="k">exception</span><span class="w"> </span><span class="n">UNKNOWN</span><span class="w"></span>\r
44<span class="w"> </span><span class="k">datatype</span><span class="w"> </span><span class="n">os_kind</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="n">BEOS</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="n">MACOS</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="n">OS2</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="n">UNIX</span><span class="w"> </span><span class="p">|</span><span class="w"> </span><span class="n">WIN32</span><span class="w"></span>\r
45\r
46<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">getHostArch</span><span class="p">:</span><span class="w"> </span><span class="n">unit</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"></span>\r
47<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">getOSKind</span><span class="p">:</span><span class="w"> </span><span class="n">unit</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">os_kind</span><span class="w"></span>\r
48<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">getOSName</span><span class="p">:</span><span class="w"> </span><span class="n">unit</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"></span>\r
49<span class="w"> </span><span class="k">end</span><span class="w"></span>\r
50\r
51<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">exnHistory</span><span class="p">:</span><span class="w"> </span><span class="n">exn</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="n">list</span><span class="w"></span>\r
52<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">exportFn</span><span class="p">:</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="n">*</span><span class="w"> </span><span class="p">(</span><span class="n">string</span><span class="w"> </span><span class="n">*</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="n">list</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">OS</span><span class="p">.</span><span class="n">Process</span><span class="p">.</span><span class="n">status</span><span class="p">)</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">unit</span><span class="w"></span>\r
53<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">exportML</span><span class="p">:</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">bool</span><span class="w"></span>\r
54<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">getAllArgs</span><span class="p">:</span><span class="w"> </span><span class="n">unit</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="n">list</span><span class="w"></span>\r
55<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">getArgs</span><span class="p">:</span><span class="w"> </span><span class="n">unit</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"> </span><span class="n">list</span><span class="w"></span>\r
56<span class="w"> </span><span class="k">val</span><span class="w"> </span><span class="n">getCmdName</span><span class="p">:</span><span class="w"> </span><span class="n">unit</span><span class="w"> </span><span class="p">-&gt;</span><span class="w"> </span><span class="n">string</span><span class="w"></span>\r
57<span class="w"> </span><span class="k">end</span><span class="w"></span>\r
58</pre></div></div></div>\r
59<div class="paragraph"><p><span class="monospaced">SMLofNJ</span> implements a subset of the structure of the same name\r
60provided in <a href="SMLNJ">Standard ML of New Jersey</a>. It is included to\r
61make it easier to port programs between the two systems. The\r
62semantics of these functions may be different than in SML/NJ.</p></div>\r
63<div class="ulist"><ul>\r
64<li>\r
65<p>\r
66<span class="monospaced">structure Cont</span>\r
67</p>\r
68<div class="paragraph"><p>implements continuations.</p></div>\r
69</li>\r
70<li>\r
71<p>\r
72<span class="monospaced">SysInfo.getHostArch ()</span>\r
73</p>\r
74<div class="paragraph"><p>returns the string for the architecture.</p></div>\r
75</li>\r
76<li>\r
77<p>\r
78<span class="monospaced">SysInfo.getOSKind</span>\r
79</p>\r
80<div class="paragraph"><p>returns the OS kind.</p></div>\r
81</li>\r
82<li>\r
83<p>\r
84<span class="monospaced">SysInfo.getOSName ()</span>\r
85</p>\r
86<div class="paragraph"><p>returns the string for the host.</p></div>\r
87</li>\r
88<li>\r
89<p>\r
90<span class="monospaced">exnHistory</span>\r
91</p>\r
92<div class="paragraph"><p>the same as <span class="monospaced">MLton.Exn.history</span>.</p></div>\r
93</li>\r
94<li>\r
95<p>\r
96<span class="monospaced">getCmdName ()</span>\r
97</p>\r
98<div class="paragraph"><p>the same as <span class="monospaced">CommandLine.name ()</span>.</p></div>\r
99</li>\r
100<li>\r
101<p>\r
102<span class="monospaced">getArgs ()</span>\r
103</p>\r
104<div class="paragraph"><p>the same as <span class="monospaced">CommandLine.arguments ()</span>.</p></div>\r
105</li>\r
106<li>\r
107<p>\r
108<span class="monospaced">getAllArgs ()</span>\r
109</p>\r
110<div class="paragraph"><p>the same as <span class="monospaced">getCmdName()::getArgs()</span>.</p></div>\r
111</li>\r
112<li>\r
113<p>\r
114<span class="monospaced">exportFn f</span>\r
115</p>\r
116<div class="paragraph"><p>saves the state of the computation to a file that will apply <span class="monospaced">f</span> to\r
117the command-line arguments upon restart.</p></div>\r
118</li>\r
119<li>\r
120<p>\r
121<span class="monospaced">exportML f</span>\r
122</p>\r
123<div class="paragraph"><p>saves the state of the computation to file <span class="monospaced">f</span> and continue. Returns\r
124<span class="monospaced">true</span> in the restarted computation and <span class="monospaced">false</span> in the continuing\r
125computation.</p></div>\r
126</li>\r
127</ul></div>\r
128</div>\r
129</div>\r
130</div>\r
131<div id="footnotes"><hr></div>\r
132<div id="footer">\r
133<div id="footer-text">\r
134</div>\r
135<div id="footer-badges">\r
136</div>\r
137</div>\r
138</body>\r
139</html>\r