Release notes for version 5.00 (April 2001) User-visible compiler changes GHCi, the new interactive environment on top of GHC, has been added (). New flag added (). The native code generator now supports Sparc in addition to x86. We now make it clear which options can be placed in an OPTIONS pragma. See . no longer implies . is no more. and are no more. The concept of “packages” has been generalised and extended. Packages may be installed or removed from an existing GHC installation using the new ghc-pkg tool. See . Initial unicode support: the Char type is now 31 bits. We don't yet have support for unicode I/O. now takes an optional numeric argument indicating the level of verbosity (). has been removed. Parallel list comprehensions added. See . Functional dependencies are now fully implemented. Profiling: please use {-# SCC ".." #-} rather than _scc_ "...". The latter will be phased out in due course. A new experimental optimisation, SpecConstr, is turned on with -O2. Please report bugs using the SourceForge bug tracker instead of glasgow-haskell-bugs@haskell.org if possible. Documentation changes: there's now a useful Flag Reference section, see . Many, many, bugfixes. New experimental features A “front panel” for GHC-compiled programs displays real-time graphs of memory behaviour in a GTK+ window. You need to recompile the RTS with front panel support to use this. FFI changes hsc2hs added (). FFI libraries have been updated to the latest proposal from the FFI task force. Too many changes to list here, see the docs: . User-visible library changes putMVar now blocks if the MVar is already full. The PutFullMVar exception no longer exists. A non-blocking version of putMVar, tryPutMVar, has been added (). The Int and Integer types now have instances of Bits (). Package hssource has been added. It contains a Haskell 98 abstract syntax, parser, lexer and pretty printer. No documentation yet. The methods fromInt and toInt, which used to be in class Num but exported from module Int, are no longer in class Num. They're still available from module Int, however. In most cases, there should be no benefit from using fromInt instead of fromIntegral, which is specialised for all integral types. New modules: DiffArray (), StorableArray (), MonadList, MonadCont (no documentation yet). Build system changes The WithGhcHc setting in build.mk has been replaced by the ––with-ghc=ghc option to configure. The new option must be used if you intend to use anything except “ghc” to bootstrap GHC, in order that the build system can figure out what version of GHC you're using. Source distributions are now made by doing make distclean in a build tree, instead of requiring a linked build tree. Internal changes Many internal compiler changes: too many to list here. The old perl driver has been removed and replaced by a driver in the compiler proper. We now use GMP 3 instead of GMP 2 for arbitrary-precision integer support. Several libraries rewritten to use the FFI.