wiki:HaskellExtensions

Version 37 (modified by ross@…, 8 years ago) (diff)

--

Known Haskell Extensions

Support Matrix

Extension Name GHC NHC HUGS JHC Ticket
AssociatedTypes False False False False #14
ClassAliases? False False False False none!
CoinductiveDictionaries? ? False False False none!
ContextStack? True False False False none!
DataKinds? False False False False none!
DoAndIfThenElse False False False False #23
DottedHierarchicalModules False False False True none!
EmptyDataDecls True True True True #25
ExistentialQuantification True True True False #26
ExplicitDictionaries? False False False False none!
ExtensibleRecords? False False True False #27
FlexibleContexts True False True ? #31
FlexibleInstances True False True ? #32
ForeignData False False False True #34
ForeignFunctionInterface True True True True #35
FunctionalDependencies True False True False #36
HereDocuments? False False True False none!
HierarchicalModules True True True True #24
ImplicitParams True False True False #38
IncoherentInstances True False True False #54
InfixTypeConstructors True False False True #78
InlinePhase? True False False False none!
KindAnnotations True False False True none!
KindPolymorphism? False False False False none!
LambdaCase False False False False #41
LiberalTypeSynonyms True False False True none!
LinearImplicitParams True False False False #43
MagicUnderscore False False False True #44
MultiParamTypeClasses True False True False #49
MultiWayIf False False False False #77
NamedFieldPuns? False True False False none!
NewtypeDeriving True False False True #52
NoImplicitPrelude? True False False True none!
NoMonomorphismRestriction True True False True none!
NondecreasingIndentation True ? True ? #53
OverlappingInstances True False True False #54
ParallelListComp True False True False #55
PartialTypeSigs False False False False none!
PatternGuards True False False False #56
PolymorphicComponents True False True False #57
RebindableSyntax? True False False Some none!
RecursiveDo True False True False #64
RecursiveModules? Partial Partial False True none!
RestrictedTypeSynonyms? False False True False none!
RewriteRules? True False False Int none!
ScopedTypeVariables True False True False #67
TemplateHaskell? True False False False none!
TypeSynonymInstances True False True True #70
UnboxedTypes? True False False Int none!
UndecidableInstances True False False False #71
Views False False False False #73
Arrows True False False False #13
Assertions? True ? False True none!
Concurrency True False Coop Poor #74
CPP? True True True True none!
GADTs True False False False #37
Generics? True False False False none!
Impredicativity? ? False False False none!
Rank2Types True False True False #60
RankNTypes True False False False #60

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