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:
BangPatternsBinaryLiteralsDatatypeContextsDoAndIfThenElseDoRecEmptyCaseEmptyDataDeclsExistentialQuantificationExplicitForAllGADTsGADTSyntaxHaskell98Haskell2010LambdaCaseLiberalTypeSynonymsMonadComprehensionsMultiWayIfNegativeLiteralsNPlusKPatternsNondecreasingIndentationNumDecimalsOverloadedListsOverloadedStringsPackageImportsParallelListCompPatternGuardsPatternSignaturesPatternSynonymsPolymorphicComponentsPostfixOperatorsRank2TypesRankNTypesRecursiveDoScopedTypeVariablesTransformListCompTupleSectionsUnicodeSyntaxViewPatterns
The following extensions will probably never be covered (usually because they were deprecated and/or removed from GHC sufficiently long ago):
AlternativeLayoutRuleAlternativeLayoutRuleTransitionalGenericsJavascriptFFIMonoPatBindsNewQualifiedOperatorsRelaxedLayoutSafeImports
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.