wiki:HaskellExtensions

Version 27 (modified by ross@…, 9 years ago) (diff)

move NondecreasingIndendtation? to MinorFixes

Known Haskell Extensions

Support Matrix

Extension Name GHC NHC HUGS JHC
HierarchicalModules True True True True
ForeignFunctionInterface True True True True
RecursiveDo True False True False
ParallelListComp True False True False
PatternGuards True False False False
Arrows True False False False
ScopedTypeVariables True False True False
PolymorphicComponents True False True False
Rank2Types True False True False
RankNTypes True False False False
ExistentialQuantification True True True False
NewtypeDeriving True False False True
ImplicitParams True False True False
LinearImplicitParams True False False False
EmptyDataDecls True True True True
NoMonomorphismRestriction True True False True
FlexibleContexts True False True ?
FlexibleInstances True False True ?
TypeSynonymInstances True False True True
MultiParamTypeClasses True False True False
OverlappingInstances True False True False
IncoherentInstances True False True False
UndecidableInstances True False False False
FunctionalDependencies True False True False
AssociatedTypes False False False False
CPP? True True True True
TemplateHaskell? True False False False
InlinePhase? True False False False
ContextStack? True False False False
Generics? True False False False
NoImplicitPrelude? True False False True
RebindableSyntax? True False False Some
NamedFieldPuns? False True False False
ExtensibleRecords? False False True False
RestrictedTypeSynonyms? False False True False
HereDocuments? False False True False
Assertions? True ? False True
Concurrency True False Coop Poor
KindAnnotations True False False True
GADTs True False False False
InfixTypeConstructors True False False True
LiberalTypeSynonyms True False False True
RecursiveModules? Partial Partial False True
RewriteRules? True False False Int
UnboxedTypes? True False False Int
CoinductiveDictionaries? ? False False False
PartialTypeSigs False False False False
Impredicativity? ? False False False
ExplicitDictionaries? False False False False
KindPolymorphism? False False False False
DataKinds? False False False False
MagicUnderscore False False False True
ClassAliases? False False False False
DottedHierarchicalModules False False False True

Extensions supported by two compilers

Extensions used in fptools

Those mentioned in library .cabal files
CPP 11 libraries
ForeignFunctionInterface 4
MultiParamTypeClasses 3
OverlappingInstances 1
FunctionalDependencies 1
Additional extensions mentioned in source file "Portability" field
Concurrency 3 libraries
Local universal quantification 3
Extended exceptions >1
Existentially quantified data constructors 1
STM 1