<!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>MLtonIO</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="./rouge-github.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>MLtonIO</h1>
</div>
<div id="content">
<div class="listingblock">
<div class="content">
<pre class="rouge highlight"><code data-lang="sml"><span class="kr">signature</span> <span class="nn">MLTON_IO</span> <span class="p">=</span>
   <span class="kr">sig</span>
      <span class="kr">type</span> <span class="kt">instream</span>
      <span class="kr">type</span> <span class="kt">outstream</span>

      <span class="kr">val</span> <span class="nv">inFd</span><span class="p">:</span> <span class="n">instream</span> <span class="p">-&gt;</span> <span class="nn">Posix</span><span class="p">.</span><span class="nn">IO</span><span class="p">.</span><span class="n">file_desc</span>
      <span class="kr">val</span> <span class="nv">mkstemp</span><span class="p">:</span> <span class="n">string</span> <span class="p">-&gt;</span> <span class="n">string</span> <span class="n">*</span> <span class="n">outstream</span>
      <span class="kr">val</span> <span class="nv">mkstemps</span><span class="p">:</span> <span class="p">{</span><span class="n">prefix</span><span class="p">:</span> <span class="n">string</span><span class="p">,</span> <span class="n">suffix</span><span class="p">:</span> <span class="n">string</span><span class="p">}</span> <span class="p">-&gt;</span> <span class="n">string</span> <span class="n">*</span> <span class="n">outstream</span>
      <span class="kr">val</span> <span class="nv">newIn</span><span class="p">:</span> <span class="nn">Posix</span><span class="p">.</span><span class="nn">IO</span><span class="p">.</span><span class="n">file_desc</span> <span class="n">*</span> <span class="n">string</span> <span class="p">-&gt;</span> <span class="n">instream</span>
      <span class="kr">val</span> <span class="nv">newOut</span><span class="p">:</span> <span class="nn">Posix</span><span class="p">.</span><span class="nn">IO</span><span class="p">.</span><span class="n">file_desc</span> <span class="n">*</span> <span class="n">string</span> <span class="p">-&gt;</span> <span class="n">outstream</span>
      <span class="kr">val</span> <span class="nv">outFd</span><span class="p">:</span> <span class="n">outstream</span> <span class="p">-&gt;</span> <span class="nn">Posix</span><span class="p">.</span><span class="nn">IO</span><span class="p">.</span><span class="n">file_desc</span>
      <span class="kr">val</span> <span class="nv">tempPrefix</span><span class="p">:</span> <span class="n">string</span> <span class="p">-&gt;</span> <span class="n">string</span>
   <span class="kr">end</span></code></pre>
</div>
</div>
<div class="ulist">
<ul>
<li>
<p><code>inFd ins</code></p>
<div class="paragraph">
<p>returns the file descriptor corresponding to <code>ins</code>.</p>
</div>
</li>
<li>
<p><code>mkstemp s</code></p>
<div class="paragraph">
<p>like the C <code>mkstemp</code> function, generates and open a temporary file
with prefix <code>s</code>.</p>
</div>
</li>
<li>
<p><code>mkstemps {prefix, suffix}</code></p>
<div class="paragraph">
<p>like <code>mkstemp</code>, except it has both a prefix and suffix.</p>
</div>
</li>
<li>
<p><code>newIn (fd, name)</code></p>
<div class="paragraph">
<p>creates a new instream from file descriptor <code>fd</code>, with <code>name</code> used in
any <code>Io</code> exceptions later raised.</p>
</div>
</li>
<li>
<p><code>newOut (fd, name)</code></p>
<div class="paragraph">
<p>creates a new outstream from file descriptor <code>fd</code>, with <code>name</code> used in
any <code>Io</code> exceptions later raised.</p>
</div>
</li>
<li>
<p><code>outFd out</code></p>
<div class="paragraph">
<p>returns the file descriptor corresponding to <code>out</code>.</p>
</div>
</li>
<li>
<p><code>tempPrefix s</code></p>
<div class="paragraph">
<p>adds a suitable system or user specific prefix (directory) for temp
files.</p>
</div>
</li>
</ul>
</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/MLtonIO.adoc">Log</a>
<a href="https://github.com/MLton/mlton/edit/master/doc/guide/src/MLtonIO.adoc">Edit</a>
</div>
</div>
</body>
</html>