GHC 6.8.1
November 2007GHC 6.8.1Mailing list: GHC 6.8.1 releasedRelease notes for GHC 6.8.1GHC 6.8.1 flag reference
Introduced the -X
flag for enabling language extensions.Git commit introducing the -X flag
- Prior to this version, most of GHC’s extensions to the Haskell language were enabled using the
-fglasgow-exts
flag, and a handful of extensions had their own separate flags. For example, to enable scoped type variables when invokingghc
at the command line, previously you would have used the-fscoped-type-variables
flag; this new version deprecates that flag, and you now use-XScopedTypeVariables
instead. - 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
GADTs
as 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:
- OverloadedStringsOverloaded string literals in GHC 6.8.1
StandaloneDeriving
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
base
were moved into new packages: array, bytestring, containers, directory, pretty, process, random, and parallel. - The
Data.String
module was added to support the new OverloadedStrings extension. - Added the Kleisli operators
(>=>)
and(<=<)
- Added
forever :: (Monad m) => m a -> m ()
forever as it appears today
The 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.
From here on, GHC adheres to the X.Y.Z version numbering policyVersion numbering policy in GHC 6.8.1 that is still in use today.