- Prior to this version, most of GHC’s extensions to the Haskell language were enabled using the
-fglasgow-extsflag, and a handful of extensions had their own separate flags. For example, to enable scoped type variables when invoking
ghcat the command line, previously you would have used the
-fscoped-type-variablesflag; this new version deprecates that flag, and you now use
- The GHC User’s Guide now says “since: 6.8.1” for many language extensions, even for features that were available in earlier versions of GHC, because this was the first version in which the “-X<extension>” flag as introduced. For example,Current documentation for GADTs the documentation lists
GADTsas appearing in 6.8.1, even though generalized algebraic datatypesGit commit introducing the GADTs extension have actually been available in GHC since version 6.4.
New language extension flags:
Record field disambiguationRecord field disambiguation in GHC 6.8.1 first appears in this release.
This GHC version corresponds to
base version 3.0.
- Parts of
basewere moved into new packages: array, bytestring, containers, directory, pretty, process, random, and parallel.
Data.Stringmodule was added to support the new OverloadedStrings extension.
- Added the Kleisli operators
forever :: (Monad m) => m a -> m ()forever as it appears today
TypeFamilies extension first appears in this version, although it is described in the release notes as “incomplete and not a supported feature”. This feature, also known as “associated types”, was previously presented in Associated types with class.