wiki:HaskellExtensions

Version 33 (modified by malcolm.wallace@…, 9 years ago) (diff)

--

Known Haskell Extensions

Support Matrix

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

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