# 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