A guide to the wide variety of Haskell extensions available in GHC, aimed at people who know most of the Standard Haskell core.
The extensions which are currently covered are:
BangPatterns
BinaryLiterals
DatatypeContexts
DoAndIfThenElse
DoRec
EmptyCase
EmptyDataDecls
ExistentialQuantification
ExplicitForAll
GADTs
GADTSyntax
Haskell98
Haskell2010
LambdaCase
LiberalTypeSynonyms
MonadComprehensions
MultiWayIf
NegativeLiterals
NPlusKPatterns
NondecreasingIndentation
NumDecimals
OverloadedLists
OverloadedStrings
PackageImports
ParallelListComp
PatternGuards
PatternSignatures
PatternSynonyms
PolymorphicComponents
PostfixOperators
Rank2Types
RankNTypes
RecursiveDo
ScopedTypeVariables
TransformListComp
TupleSections
UnicodeSyntax
ViewPatterns
The following extensions will probably never be covered (usually because they were deprecated and/or removed from GHC sufficiently long ago):
AlternativeLayoutRule
AlternativeLayoutRuleTransitional
Generics
JavascriptFFI
MonoPatBinds
NewQualifiedOperators
RelaxedLayout
SafeImports
Most of the information these tutorials present is derived from the relevant chapter of the GHC User’s Guide, as well as selected parts of the GHC source code.