MLtonIO ======= [source,sml] ---- signature MLTON_IO = sig type instream type outstream val inFd: instream -> Posix.IO.file_desc val mkstemp: string -> string * outstream val mkstemps: {prefix: string, suffix: string} -> string * outstream val newIn: Posix.IO.file_desc * string -> instream val newOut: Posix.IO.file_desc * string -> outstream val outFd: outstream -> Posix.IO.file_desc val tempPrefix: string -> string end ---- * `inFd ins` + returns the file descriptor corresponding to `ins`. * `mkstemp s` + like the C `mkstemp` function, generates and open a temporary file with prefix `s`. * `mkstemps {prefix, suffix}` + like `mkstemp`, except it has both a prefix and suffix. * `newIn (fd, name)` + creates a new instream from file descriptor `fd`, with `name` used in any `Io` exceptions later raised. * `newOut (fd, name)` + creates a new outstream from file descriptor `fd`, with `name` used in any `Io` exceptions later raised. * `outFd out` + returns the file descriptor corresponding to `out`. * `tempPrefix s` + adds a suitable system or user specific prefix (directory) for temp files.