Language Extensions↓↑ | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AllowAmbiguousTypes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
AlternativeLayoutRule | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
AlternativeLayoutRuleTransitional | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ApplicativeDo | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
Arrows | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
AutoDeriveTypeable | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
BangPatterns | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
BinaryLiterals | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no |
BlockArguments | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no |
CApiFFI | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
CPP | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
CUSKs | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no |
ConstrainedClassMethods | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ConstraintKinds | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
DataKinds | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
DatatypeContexts | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DeepSubsumption | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no | no |
DefaultSignatures | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
DeriveAnyClass | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no |
DeriveDataTypeable | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DeriveFoldable | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DeriveFunctor | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DeriveGeneric | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
DeriveLift | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
DeriveTraversable | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DerivingStrategies | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no |
DerivingVia | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no |
DisambiguateRecordFields | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DoAndIfThenElse | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DoRec | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
DuplicateRecordFields | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
EmptyCase | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
EmptyDataDecls | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
EmptyDataDeriving | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no |
ExistentialQuantification | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ExplicitForAll | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ExplicitNamespaces | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
ExtendedDefaultRules | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ExtendedLiterals | yes | no | no | no | no | no | no | no | no | no | no | no | no | no | no | no |
FieldSelectors | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no | no |
FlexibleContexts | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
FlexibleInstances | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ForeignFunctionInterface | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
FunctionalDependencies | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
GADTSyntax | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
GADTs | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
GHC2021 | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no | no |
GHCForeignImportPrim | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
GeneralisedNewtypeDeriving | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no |
GeneralizedNewtypeDeriving | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Generics | no | no | no | no | no | no | no | no | no | no | no | no | no | no | no | yes |
Haskell2010 | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Haskell98 | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
HexFloatLiterals | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no |
ImplicitParams | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ImplicitPrelude | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ImportQualifiedPost | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no |
ImpredicativeTypes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
IncoherentInstances | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
InstanceSigs | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
InterruptibleFFI | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
JavaScriptFFI | no | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
KindSignatures | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
LambdaCase | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
LexicalNegation | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no |
LiberalTypeSynonyms | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
LinearTypes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no |
MagicHash | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
MonadComprehensions | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
MonadFailDesugaring | no | no | no | no | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
MonoLocalBinds | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
MonoPatBinds | no | no | no | no | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
MonomorphismRestriction | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
MultiParamTypeClasses | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
MultiWayIf | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no |
NPlusKPatterns | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
NamedFieldPuns | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
NamedWildCards | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no |
NegativeLiterals | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
NewQualifiedOperators | no | no | no | no | no | no | no | no | no | no | no | no | no | no | no | yes |
NoImplicitPrelude | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
NondecreasingIndentation | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
NullaryTypeClasses | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
NumDecimals | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
NumericUnderscores | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no |
OverlappingInstances | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
OverloadedLabels | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
OverloadedLists | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
OverloadedRecordDot | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no | no |
OverloadedRecordUpdate | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no | no |
OverloadedStrings | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
PArr | no | no | no | no | no | no | no | no | no | no | no | no | no | no | no | yes |
PackageImports | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
ParallelArrays | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
ParallelListComp | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
PartialTypeSignatures | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no |
PatternGuards | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
PatternSignatures | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
PatternSynonyms | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
PolyKinds | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
PolymorphicComponents | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
PostfixOperators | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
QualifiedDo | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no |
QuantifiedConstraints | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no |
QuasiQuotes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Rank2Types | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
RankNTypes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
RebindableSyntax | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
RecordPuns | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
RecordWildCards | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
RecursiveDo | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
RelaxedLayout | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
RelaxedPolyRec | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
RoleAnnotations | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no |
Safe | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
ScopedTypeVariables | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
StandaloneDeriving | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
StandaloneKindSignatures | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no |
StarIsType | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no |
StaticPointers | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no |
Strict | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
StrictData | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
TemplateHaskell | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
TemplateHaskellQuotes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
TraditionalRecordSyntax | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
TransformListComp | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Trustworthy | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
TupleSections | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
TypeAbstractions | yes | no | no | no | no | no | no | no | no | no | no | no | no | no | no | no |
TypeApplications | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
TypeData | yes | yes | no | no | no | no | no | no | no | no | no | no | no | no | no | no |
TypeFamilies | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
TypeFamilyDependencies | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
TypeInType | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
TypeOperators | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
TypeSynonymInstances | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
UnboxedSums | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no |
UnboxedTuples | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
UndecidableInstances | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
UndecidableSuperClasses | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no | no | no | no | no |
UnicodeSyntax | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
UnliftedDatatypes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no | no | no |
UnliftedFFITypes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
UnliftedNewtypes | yes | yes | yes | yes | yes | yes | no | no | no | no | no | no | no | no | no | no |
Unsafe | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | no |
ViewPatterns | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |