1 Changes made since 2.08:
4 \item fixed type-synonym-arity bug in the typechecker.
6 \item fixed overloaded-constructor-argument bug in the typechecker.
8 \item fix off-by-one error in PackedString:filterPS.
10 \item fixed getCurrentDirectory.
12 \item fixed space-leak bug to do with polymorphic recursion and overloading.
14 \item fixed lit-deatify that was core dumping on Linux.
16 \item some fixes to the native code generator for i386.
18 \item unboxed the state in ST and IO, and specialised IO (it is no longer built
21 \item reversed the sense of -fwarn-{overlapped,incomplete}-patterns. The driver
22 now has to have the flag to provide the warning.
24 \item added -fwarn-missing-methods
26 \item added the -Wnot, -W, and -Wall options. Set up a default set of warnings,
27 namely -fwarn-{overlapped,incomplete}-patterns.
29 \item Added -fwarn-duplicate-exports warning to check for duplicates in
30 export lists. Included in default warning set.
32 \item Renamed SampleVar.{write,read}Sample to SampleVar.{write,read}SampleVar
34 \item new mkdependHS options: -W disables warnings of duplicate interface
35 files found along the import path. --include-prelude *will* generate
36 dependencies on Prelude + any prelude/syslib .hi files used.
38 \item removed the @PrimIO@ type. For a limited time only, @PrimIO@
39 will be available from @GlaExts@ as a synonym for @IO@.
41 \item changed the type of @_ccall_@s to return @(IO a)@.
43 \item renamed @mainPrimIO@ to @mainIO@, as it now has type @IO ()@.
45 \item fixed the semantics of the @-i@ flag to @mkdependHS@ to be the
48 \item fix panic when a type constructor is used as a class.
50 \item don't arbitrarily truncate cost centre names in profiling information.
53 In 2.09, we've made extensive changes to the libraries that provide
54 access to various GHC extensions. Many of these extensions are now
55 provided by Hugs, and as a result we are now using a common set of
58 Briefly, the changes are as follows (for the definition of the new
59 libraries, see the section on GHC/Hugs libraries in the User Guide).
62 \item Addr moved out of Foreign and into its own module.
64 \item MutVar module disappeared, IOExts now exports IORefs and associated
67 \item The @CCallable@ and @CReturnable@ classes now have their own
68 module, @CCall@. You only need to import this module to provide a
69 new instance of one of these classes.
71 \item A new module @IOExts@ provides extensions to the @IO@ monad,
72 including @unsafePerformIO@, @unsafeInterleaveIO@, @IORef@s (mutable
73 variables), and @IOArray@s (mutable arrays).
75 \item Importing @ST@ is now the official way to get access to the @ST@
76 monad. This module also supports @STRef@s (mutable variables) and
77 @STArray@s (mutable arrays).
79 \item A new module @LazyST@ provides an identical interface to @ST@
80 except that the underlying implementation of the monad is lazy. Be
81 careful about mixing these two in the same program.
83 \item The new module @Bits@ provides a class of bit operations. The
84 modules @Int@ and @Word@ provide signed and unsiged integer types
85 (respectively) of varying sizes, all of which support bit
88 \item Added @Bits@, @Int@, @Word@ (and a few new primops over words).
90 \item The @GlaExts@ module will provide Glasgow-only extensions. For
91 now, we've kept the old interface for compatibility, but beware that
92 this is deprecated and the relevant extension libraries should be
95 \item Several changes to the libraries in @lib/ghc@ - see the User