Interactive code snippets not yet available for SoH 2.0, see our Status of of School of Haskell 2.0 blog post

Language Standards

These extensions are not really extensions, but instead control which Haskell standard GHC attempts to be faithful to.

Conceptually, GHC starts with a kind of “null language,” in which no extensions are enabled, and then enables a select number of extensions “by default.” Which extensions count as “default extensions” in this sense is controlled by which of the following flags, if either, is present (if they are both present, the last one “wins”).

Haskell98

Available in: All recent GHC versions

The Haskell98 “language” attempts to follow the Haskell 98 Revised Report as closely as it can; the extensions it enables are currently:

Haskell2010

Available in: All recent GHC versions

The Haskell2010 “language” attempts to follow the Haskell 2010 Report as closely as it can; the extensions it enables are currently:

The Default Language

If neither of the above two “languages” are used, then GHC enables a short list of extensions as a “default language;” these extensions are currently:

comments powered by Disqus