wiki:HaskellExtensions

Version 34 (modified by simonmar@…, 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 none!
InfixTypeConstructors True False False True none!
InlinePhase? True False False False none!
KindAnnotations True False False True none!
KindPolymorphism? False False False False none!
LambdaCase False False False False #41 (todo)
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 #41 (todo)
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