# nhc98 libraries

Here is the status of nhc98's implementation of the standard libraries defined in the official Haskell '98 Library Report:

library name | complete? | notes
--- | --- | ---
Array | yes | implementation based on vectors
CPUTime | yes | .
Char | yes | .
Complex | yes | .
Directory | yes | .
IO | no | missing: hReady, hWaitForInput, hLookAhead, hIsOpen, hIsClosed, hIsReadable, hIsWritable, hIsSeekable
Ix | yes | .
List | yes | additional fns: deleteFirsts, elemBy, elemIndexBy, lookupBy, notElemBy, permutations, subsequences, sums, products
Locale | yes | .
Maybe | yes | .
Monad | yes | additional fn: untilM
Numeric | yes | additional fn: showIntBase
Prelude | yes | .
Random | yes | identical to Hugs implementation
Ratio | yes | .
System | yes | .
Time | yes | .

Here is the status of non-standard libraries provided by nhc98:

library name | description
--- | ---
BinArray | imperative binary arrays
Binary | binary I/O and binary representations of values
Bit | bit-twiddling operations, e.g. and, or, xor
FFI | foreign function interface
GreenCard | just the standard `%dis` definitions and constructors you need in order to write your own GreenCard files
IOExtras | contains IORefs, IOArrays, unsafePerformIO, etc.
NonStdTrace | the common side-effecting `trace` function
PackedString | a space-efficient representation of strings

The latest updates to these pages are available on the WWW from `http://www.cs.york.ac.uk/fp/nhc98/`

2001.11.27
York Functional Programming Group