1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
<title>The Haskell 1.3 Library Report: Introduction</title>
<body bgcolor="#ffffff"> <i>The Haskell 1.4 Library Report</i><br> <a href="index.html">top</a> | back | <a href="ratio.html">next</a> | <a href="libindex.html">contents</a> <br><hr>
<a name="introduction"></a><a name="sect1"></a>
<h2>1<tt> </tt>Introduction</h2>
<p>
This document defines the standard Haskell libraries. Like the Prelude,
these libraries are a required part of a Haskell
implementation. Unlike the Prelude, however, these modules must
be <I>explicitly</I> imported into scope.<p>
When possible, library functions are described solely by executable
Haskell code. Functions which require implementation-dependent
primitives are
represented by type signatures without definitions.
Some data types are implementation-dependent: these are indicated
by comments in the source.<p>
The code found here is a specification, rather than an
implementation. Implementations may choose more efficient versions of
these functions. However, all
properties of these specifications must be preserved, including
strictness properties. <p>
Classes defined in libraries may be derivable. This report includes
the derivation of such classes when appropriate.
When Prelude types
are instances of derivable library classes a commented empty instance
declaration is used. The comment, "as derived", indicates that the
instance is the same as would have been generated by a <tt>deriving</tt> in
the Prelude type declaration. <p>
The libraries presented here represent a selection of basic
functionality that are expected to be useful to many Haskell
programmers. Most implementations provide further libraries
which are not a recognized part of the Haskell standard.<p>
Many other libraries are being actively considered. The latest
version of this report as well as proposed additions to the library
can be found on the web at <tt>haskell.org</tt>.<p>
We would like to express our thanks to those who have contributed
directly or indirectly to this report without being named as authors.
A proper acknowledgement list will appear in the final (non-draft)
version of the report. We would, however, especially like to thank
Andy Gill, who made significant contributions to the I/O library;
Sandra Loosemore,
who made many important comments on the I/O library; and Tony Davie
who has carefully examined much of the library code.<p>
<table >
<tr><td><I>The Haskell Committee</I> </td><td align=right> <I>March 1997
</I></td></tr></table>
<p>
<hr><i>The Haskell 1.4 Library Report</i><br><a href="index.html">top</a> | back | <a href="ratio.html">next</a> | <a href="libindex.html">contents</a> <br><font size=2>April 4, 1997</font>
|