The Standard ML Basis Library
Format: PDF / Kindle (mobi) / ePub
SML is an influential programming language that represents many state-of-the-art aspects of language design in a form usable for everyday programming. The language is in use worldwide, with applications ranging from network communication to theorem proving. The definition for SML's standard library, this work concisely describes the types and functions defined in the library and discusses in depth the library's design and use. This manual will be an indispensable reference for students, professional programmers, and language designers.
General.exnName String.explode Real.floor List.foldl List.foldr Option.getOpt List.hd General.ignore String.implode Option.isSome List.length List.map Bool.not List.null General.o Char.ord TextIO.print Real.fromInt primitive List.rev Real.round String.size String.str String.substring List.tl Real.trunc implementation dependent Option.valOf Vector.fromList CHAPTER 3. TOP-LEVEL ENVIRONMENT 22 3.3 Overloaded identifiers The SML Standard Basis includes a fixed set of overloaded identifiers;
Typically, this coordination requires some form of resynchronizing of the stream I/O streams with the underlying file whenever the code switches between seeking, reading, and writing. Existing stream I/O streams need to be truncated or terminated, and StreamIO.mkInstream or StreamIO.mkOutstream are used to create new buffered views of the file. Random access with text I/O Random access with integer positions in a text file is problematic because, on many systems, text has different
reading or writing, it may terminate prematurely due to receiving a broken pipe signal Posix.Signal.pipe. The programmer should also consider the effect of buffering in the stream library, which may require explicit flushing of a buffer. As these examples indicate, effective use of execute depends on the parent application knowing what the child process expects for input and what it produces for output. For simple uses, it is usually possible to rely on documentation concerning the child process.
status, provided by reap or CHAPTER 9. SYSTEMS PROGRAMMING 94 OS.Process.system or some other function, into a Unix.exit_status value using the fromStatus function. The W_EXITED value of exit_status corresponds to OS.Process.success. If the status is (W_EXITSTATUS w), the child process called (exit w), where w is non-zero. The operating system will sometimes terminate a process because it was sent a signal by some other process. The kill function gives this ability to the parent process. If a
or a decimal digit). val isCntrl : char -> bool isCntrl c returns true if c is a control character. val isDigit : char -> bool isDigit c returns true if c is a decimal digit [0−9]. val isGraph : char -> bool isGraph c returns true if c is a graphical character, that is, it is printable and not a whitespace character. val isHexDigit : char -> bool isHexDigit c returns true if c is a hexadecimal digit [0−9a−fA−F]. val isLower : char -> bool isLower c returns true if c is a lowercase letter. val