Language extensions in nhc98
What language extensions does nhc98 support?
Extensions of the Haskell'98 language available in nhc98 include:
-
The standard primitive FFI language addendum.
-
Extended module namespaces, of the form Long.Hierarchical.Module.Name.
-
Local forall quantification on datatypes. (Also known as existential
types, not to be confused with rank-2 types.)
-
Pattern guards (new in 1.20).
-
Some common standard hierarchical libraries packages. Use the
compiler option e.g. -package base to access them.
-
The NHC.IOExtras library, containing IORefs, IOArrays, trace,
unsafePerformIO, etc.
-
Andy Gill's Observe.lhs library, used for HOOD debugging.
-
A Binary data representation library.
In summary, this library
module provides bit-stream operations and a new Binary class for which
the compiler fully supports "deriving" clauses.
Fuller details can be found in [1] and in
this documentation.
References
[1] The Bits Between The Lambdas - Binary Data in a Lazy Functional Language,
Malcolm Wallace and Colin Runciman, Proceedings of the International
Symposium on Memory Management, Vancouver, Oct 1998.
[FTP site]
The latest updates to these pages are available on the WWW from
http://www.haskell.org/nhc98/
23rd November 2007
York Functional Programming Group
|