\item The GHC system library - collection of interfaces that mainly
have grown out of abstractions used to implement GHC itself.
\item Parts of the HBC libraries.
-\item The Posix interface - a quality interface to OS functionality as
-specified by {\tt POSIX 1003.1}. Sadly, this library hasn't made it
-into a standard Haskell library.
+\item The Posix interface - a mostly complete interface to OS functionality as
+specified by {\tt POSIX 1003.1}. Sadly, this library isn't a standard
+Haskell library...yet.
\item The contrib libraries - oodles of numeric codes..
\end{itemize}
%* *
%************************************************************************
-You need to \tr{import PackedString} and heave in your \tr{-syslib
-ghc} to use \tr{PackedString}s.
+You need to \tr{import PackedString} and heave in your
+\tr{-syslib ghc} to use \tr{PackedString}s.
The basic type and functions available are:
\begin{verbatim}
\end{verbatim}
Various examples of networking Haskell code are provided in
-\tr{ghc/misc/examples/}, notably the \tr{net???/Main.hs} programs.
+%\tr{ghc/misc/examples/}, notably the \tr{net???/Main.hs} programs.
%************************************************************************
%* *
The @Posix@ interface gives you access to the set of OS services
standardised by POSIX 1003.1b (or the {\em IEEE Portable Operating System
Interface for Computing Environments} - IEEE Std. 1003.1). The
-interface is accessed by \tr{import Posix} and adding \tr{-syslib
-posix} on your command-line.
+interface is accessed by \tr{import Posix} and adding
+\tr{-syslib posix} on your command-line.
-\subsubsection[Posix-data-types]{Posix data types}
+\subsubsection[Posix data types]{Posix data types}
\index{Posix, data types}
be an arithmetic type.
\begin{verbatim}
-> data EpochTime -- instances of : Eq Ord Num Real Integral Ix Enum Show
+data EpochTime -- instances of : Eq Ord Num Real Integral Ix Enum Show
\end{verbatim}
A \tr{EpochTime} is a primitive of type \tr{time_t}, which is
deriving (Eq, Show)
\end{verbatim}
-\subsubsection{posix-process-env}{Posix Process Primitives}
+\subsubsection[Process Primitives]{Posix Process Primitives}
\begin{verbatim}
forkProcess :: IO (Maybe ProcessID)
\end{verbatim}
\tr{forkProcess} calls \tr{fork}, returning
-\tr{Just pid} to the parent, where <var>pid</var> is the
+\tr{Just pid} to the parent, where \tr{pid} is the
ProcessID of the child, and returning \tr{Nothing} to the
child.
\tr{installHandler int handler iset} calls \tr{sigaction} to install
an interrupt handler for signal \tr{int}. If \tr{handler} is
\tr{Default}, \tr{SIG_DFL} is installed; if \tr{handler} is
-\tr{Ignore}, \tr{SIG_IGN} is installed; if \tr{handler} is \tr{Catch
-action}, a handler is installed which will invoke \tr{action} as a
+\tr{Ignore}, \tr{SIG_IGN} is installed; if \tr{handler} is
+\tr{Catch action}, a handler is installed which will invoke \tr{action} as a
replacement for \tr{main}. If \tr{iset} is \tr{Just s}, then the
\tr{sa_mask} of the \tr{sigaction} structure is set to \tr{s};
otherwise it is cleared. The previously installed signal handler for
program until at least \tr{i} seconds have elapsed or a signal is
received.
-\subsubsection[posix-proc-env]{Posix Process Environment}
+\subsubsection[Process Environment]{Posix Process Environment}
\index{Posix, process environment}
\begin{verbatim}
The requested system limit or option is undefined.
\end{itemize}
-\subsubsection[posix-files-dir]{Files and Directories}
+\subsubsection[Files and Directories]{Posix operations on files and directories}
\index{Posix, files and directories}
\begin{verbatim}
Various other causes.
\end{itemize}
-\subsubsection[posix-input-output]{Posix Input and Output Primitives}
+\subsubsection[Inut Output]{Posix Input and Output Primitives}
\index{Posix, input/output}
\begin{verbatim}
indicated by \tr{whence}. It returns the resulting offset from the
start of the file in bytes.
-\subsubsection[posix-device-class]{Posix, Device- and Class-Specific Functions}
+\subsubsection[Device Specific Functions]{Posix, Device- and Class-Specific Functions}
\index{Posix, device and class-specific functions}
\begin{verbatim}
associated with the terminal attached to \tr{Channel}
\tr{fd} to \tr{pgid}.
-\subsubsection[posix-system-db]{Posix System Databases}
+\subsubsection[System Database]{Posix System Databases}
\index{Posix, system databases}
\begin{verbatim}
There is no user entry for the name.
\end{itemize}
-\subsubsection[posix-errors]{POSIX Errors}
+\subsubsection[Error reporting and handling]{POSIX Errors}
\index{Posix, errors}
\begin{verbatim}