language-haskell
Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Extensions

Description

The module exports the set of recognized language extensions, mostly corresponding to GHC extensions

Synopsis

Documentation

data Extension Source #

The enumeration of all language extensions

Constructors

AllowAmbiguousTypes 
AlternativeLayoutRule 
AlternativeLayoutRuleTransitional 
ApplicativeDo 
Arrows 
AutoDeriveTypeable 
BangDataFields 
BangPatterns

active but unnamed in GHC and Report

BinaryLiterals 
BlockArguments 
CApiFFI 
CUSKs 
ConstrainedClassMethods 
ConstraintsAreTypes 
ConstraintKinds

active but unnamed in GHC

Cpp 
DataKinds 
DatatypeContexts 
DeepSubsumption 
DefaultSignatures 
DeriveAnyClass 
DeriveDataTypeable 
DeriveFoldable 
DeriveFunctor 
DeriveGeneric 
DeriveLift 
DeriveTraversable 
DerivingStrategies 
DerivingVia 
DisambiguateRecordFields 
DoAndIfThenElse 
DuplicateRecordFields 
EmptyCase 
EmptyDataDeclarations 
EmptyDataDeriving 
EqualityConstraints 
ExistentialQuantification

unnamed in GHC

ExplicitForAll 
ExplicitNamespaces 
ExtendedDefaultRules 
ExtendedLiterals 
FieldSelectors 
FlexibleContexts 
FlexibleInstances 
ForeignFunctionInterface 
FunctionalDependencies 
GADTSyntax 
GADTs 
GHC2021 
GHC2024 
GHCForeignImportPrim 
GeneralizedNewtypeDeriving 
Haskell2010 
Haskell98 
HexFloatLiterals 
IdentifierSyntax 
ImplicitParameters

active but unnamed in GHC

ImplicitPrelude 
ImportQualifiedPost 
ImpredicativeTypes 
IncoherentInstances 
InferredTypeVariables 
InstanceSigs

unnamed in GHC

InterruptibleFFI 
JavaScriptFFI 
KindSignatures 
LambdaCase 
LexicalNegation 
LiberalTypeSynonyms 
LinearTypes 
ListTuplePuns 
MagicHash 
MonadComprehensions 
MonadFailDesugaring 
MonoLocalBinds 
MonoPatBinds 
MonomorphismRestriction 
MultiParamTypeClasses 
MultiParameterConstraints 
MultiWayIf

active unnamed in GHC

NPlusKPatterns 
NamedDefaults 
NamedFieldPuns 
NamedWildCards 
NegativeLiterals 
NondecreasingIndentation 
NullaryTypeClasses 
NumDecimals 
NumericUnderscores 
OverlappingInstances 
OverloadedLabels 
OverloadedLists 
OverloadedRecordDot 
OverloadedRecordUpdate 
OverloadedStrings 
PackageImports 
ParallelArrays 
ParallelListComp 
ParallelListComprehensions 
ParenthesizedTypeOperators 
GratuitouslyParenthesizedTypes

active but unnamed in GHC

PartialTypeSignatures

active but unnamed in GHC

PatternGuards 
PatternSynonyms 
PolyKinds 
PostfixOperators 
QualifiedDo 
QuantifiedConstraints 
QuasiQuotes 
RankNTypes 
RebindableSyntax 
RecordWildCards 
RecursiveDo 
RelaxedLayout 
RelaxedPolyRec 
RequiredTypeArguments 
RoleAnnotations 
Safe 
SafeImports 
ScopedTypeVariables 
SpaceSensitiveOperators 
StandaloneDeriving 
StandaloneKindSignatures 
StarIsType 
StaticPointers 
Strict 
StrictData 
TemplateHaskell 
TemplateHaskellQuotes 
TraditionalRecordSyntax 
TransformListComp 
Trustworthy 
TupleSections 
TypeAbstractions 
TypeAbstractionsOrApplicationsInConstructorPatterns 
TypeApplications

nameless

TypeData 
TypeFamilies 
TypeFamilyDependencies 
TypeInType 
TypeOperators 
TypeSynonymInstances 
TypeVariableConstraints 
UnboxedSums

active but unnamed in GHC

UnboxedTuples 
UndecidableInstances 
UndecidableSuperClasses 
UnicodeSyntax 
UnliftedDatatypes 
UnliftedFFITypes 
UnliftedNewtypes 
Unsafe 
ViewPatterns 
VisibleDependedentQuantification 

Instances

Instances details
Eq Extension Source # 
Instance details

Defined in Language.Haskell.Extensions

Ord Extension Source # 
Instance details

Defined in Language.Haskell.Extensions

Data Extension Source # 
Instance details

Defined in Language.Haskell.Extensions

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Extension -> c Extension #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Extension #

toConstr :: Extension -> Constr #

dataTypeOf :: Extension -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Extension) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Extension) #

gmapT :: (forall b. Data b => b -> b) -> Extension -> Extension #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Extension -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Extension -> r #

gmapQ :: (forall d. Data d => d -> u) -> Extension -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Extension -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Extension -> m Extension #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Extension -> m Extension #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Extension -> m Extension #

Bounded Extension Source #

nameless

Instance details

Defined in Language.Haskell.Extensions

Enum Extension Source # 
Instance details

Defined in Language.Haskell.Extensions

Read Extension Source # 
Instance details

Defined in Language.Haskell.Extensions

Show Extension Source # 
Instance details

Defined in Language.Haskell.Extensions

Memoizable (Set Extension) Source # 
Instance details

Defined in Language.Haskell.Extensions

Methods

memoize :: (Set Extension -> v) -> Set Extension -> v #

ExtendedWith '['BangPatterns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['BangPatterns] Language l d s Source #

ExtendedWith '['CApiFFI] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['CApiFFI] Language l d s Source #

ExtendedWith '['DefaultSignatures] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['DefaultSignatures] Language l d s Source #

ExtendedWith '['DerivingStrategies] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['DerivingStrategies] Language l d s Source #

ExtendedWith '['DerivingVia] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['DerivingVia] Language l d s Source #

ExtendedWith '['ExplicitNamespaces] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ExplicitNamespaces] Language l d s Source #

ExtendedWith '['ExtendedLiterals] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ExtendedLiterals] Language l d s Source #

ExtendedWith '['FunctionalDependencies] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['FunctionalDependencies] Language l d s Source #

ExtendedWith '['GADTs, 'TypeData] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['GADTs, 'TypeData] Language l d s Source #

ExtendedWith '['ImplicitParameters] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ImplicitParameters] Language l d s Source #

ExtendedWith '['InterruptibleFFI] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['InterruptibleFFI] Language l d s Source #

ExtendedWith '['LambdaCase] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['LambdaCase] Language l d s Source #

ExtendedWith '['MagicHash] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['MagicHash] Language l d s Source #

ExtendedWith '['NPlusKPatterns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['NPlusKPatterns] Language l d s Source #

ExtendedWith '['NamedDefaults] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['NamedDefaults] Language l d s Source #

ExtendedWith '['NamedFieldPuns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['NamedFieldPuns] Language l d s Source #

ExtendedWith '['ParallelListComprehensions] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ParallelListComprehensions] Language l d s Source #

ExtendedWith '['PatternSynonyms] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['PatternSynonyms] Language l d s Source #

ExtendedWith '['QualifiedDo, 'RecursiveDo] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['QualifiedDo, 'RecursiveDo] Language l d s Source #

ExtendedWith '['QualifiedDo] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['QualifiedDo] Language l d s Source #

ExtendedWith '['RecordWildCards] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['RecordWildCards] Language l d s Source #

ExtendedWith '['RecursiveDo] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['RecursiveDo] Language l d s Source #

ExtendedWith '['StandaloneDeriving] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['StandaloneDeriving] Language l d s Source #

ExtendedWith '['Strict] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['Strict] Language l d s Source #

ExtendedWith '['StrictData] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['StrictData] Language l d s Source #

ExtendedWith '['TupleSections] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['TupleSections] Language l d s Source #

ExtendedWith '['TypeAbstractions] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['TypeAbstractions] Language l d s Source #

ExtendedWith '['TypeData] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['TypeData] Language l d s Source #

ExtendedWith '['UnboxedSums] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['UnboxedSums] Language l d s Source #

ExtendedWith '['UnboxedTuples] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['UnboxedTuples] Language l d s Source #

ExtendedWith '['ViewPatterns] Language Source # 
Instance details

Defined in Language.Haskell.Extensions.AST

Methods

build :: forall l (d :: NodeWrap) (s :: NodeWrap). Construct '['ViewPatterns] Language l d s Source #

(SameWrap 'NPlusKPatterns '['ViewPatterns] pos s λ l2, Haskell l2, Supports 'NPlusKPatterns λ, Supports 'ViewPatterns l2, FieldPattern l2 ~ FieldPattern l2, QualifiedName l2 ~ QualifiedName l2, ModuleName l2 ~ ModuleName l2, Name l2 ~ Name l2) => WrappedTranslation (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s) Pattern Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

(SameWrap 'RecordWildCards '['NamedFieldPuns] pos s λ l, Supports 'RecordWildCards λ, Haskell l, FieldBinding l ~ FieldBinding l, QualifiedName l ~ QualifiedName l, ModuleName l ~ ModuleName l, Name l ~ Name l) => WrappedTranslation (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s) Expression Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

(SameWrap 'RecordWildCards '['NamedFieldPuns] pos s λ l2, Supports 'RecordWildCards λ, FieldPattern l2 ~ FieldPattern l2, QualifiedName l2 ~ QualifiedName l2, ModuleName l2 ~ ModuleName l2, Name l2 ~ Name l2) => WrappedTranslation (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s) Pattern Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

data Construct '['BangPatterns] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['BangPatterns] λ l d s = BangPatternConstruction {}
data Construct '['CApiFFI] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['DefaultSignatures] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['DefaultSignatures] λ l d s = DefaultSignatureConstruction {}
data Construct '['DerivingStrategies] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['DerivingVia] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['DerivingVia] λ l d s = DerivingViaConstruction {}
data Construct '['ExplicitNamespaces] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['ExtendedLiterals] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['FunctionalDependencies] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['FunctionalDependencies] λ l d s = FunctionalDependenciesConstruction {}
data Construct '['GADTs, 'TypeData] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['GADTs, 'TypeData] λ l d s = TypeGADTConstruction {}
data Construct '['ImplicitParameters] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['InterruptibleFFI] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['LambdaCase] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['LambdaCase] λ l d s = LambdaCaseConstruction {}
data Construct '['MagicHash] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['MagicHash] λ l d s = MagicHashConstruction {}
data Construct '['NPlusKPatterns] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['NamedDefaults] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['NamedFieldPuns] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['ParallelListComprehensions] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['ParallelListComprehensions] λ l d s = ParallelListComprehensionConstruction {}
data Construct '['PatternSynonyms] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['PatternSynonyms] λ l d s = PatternSynonymConstruction {}
data Construct '['QualifiedDo, 'RecursiveDo] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['QualifiedDo] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['RecordWildCards] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['RecursiveDo] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['RecursiveDo] λ l d s = RecursiveDoConstruction {}
data Construct '['StandaloneDeriving] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['Strict] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['Strict] λ l d s = StrictConstruction {}
data Construct '['StrictData] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['StrictData] λ l d s = StrictDataConstruction {}
data Construct '['TupleSections] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['TypeAbstractions] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['TypeAbstractions] λ l d s = TypeAbstractionConstruction {}
data Construct '['TypeData] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['TypeData] λ l d s = TypeDataConstruction {}
data Construct '['UnboxedSums] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['UnboxedSums] λ l d s = UnboxedSumsConstruction {}
data Construct '['UnboxedTuples] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['ViewPatterns] λ l d s Source # 
Instance details

Defined in Language.Haskell.Extensions.Abstract

data Construct '['ViewPatterns] λ l d s = ViewPatternConstruction {}

newtype ExtensionSwitch Source #

An extension together with an on/off boolean

Constructors

ExtensionSwitch (Extension, Bool) 

Instances

Instances details
Eq ExtensionSwitch Source # 
Instance details

Defined in Language.Haskell.Extensions

Ord ExtensionSwitch Source # 
Instance details

Defined in Language.Haskell.Extensions

Data ExtensionSwitch Source # 
Instance details

Defined in Language.Haskell.Extensions

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExtensionSwitch -> c ExtensionSwitch #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExtensionSwitch #

toConstr :: ExtensionSwitch -> Constr #

dataTypeOf :: ExtensionSwitch -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExtensionSwitch) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExtensionSwitch) #

gmapT :: (forall b. Data b => b -> b) -> ExtensionSwitch -> ExtensionSwitch #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExtensionSwitch -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExtensionSwitch -> r #

gmapQ :: (forall d. Data d => d -> u) -> ExtensionSwitch -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ExtensionSwitch -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExtensionSwitch -> m ExtensionSwitch #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtensionSwitch -> m ExtensionSwitch #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExtensionSwitch -> m ExtensionSwitch #

Show ExtensionSwitch Source # 
Instance details

Defined in Language.Haskell.Extensions

PrettyViaTH ExtensionSwitch Source # 
Instance details

Defined in Language.Haskell.Template

(SameWrap 'NPlusKPatterns '['ViewPatterns] pos s λ l2, Haskell l2, Supports 'NPlusKPatterns λ, Supports 'ViewPatterns l2, FieldPattern l2 ~ FieldPattern l2, QualifiedName l2 ~ QualifiedName l2, ModuleName l2 ~ ModuleName l2, Name l2 ~ Name l2) => WrappedTranslation (ReformulationOf (On 'NPlusKPatterns) '[On 'ViewPatterns] λ l2 pos s) Pattern Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

(SameWrap 'RecordWildCards '['NamedFieldPuns] pos s λ l, Supports 'RecordWildCards λ, Haskell l, FieldBinding l ~ FieldBinding l, QualifiedName l ~ QualifiedName l, ModuleName l ~ ModuleName l, Name l ~ Name l) => WrappedTranslation (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l pos s) Expression Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

(SameWrap 'RecordWildCards '['NamedFieldPuns] pos s λ l2, Supports 'RecordWildCards λ, FieldPattern l2 ~ FieldPattern l2, QualifiedName l2 ~ QualifiedName l2, ModuleName l2 ~ ModuleName l2, Name l2 ~ Name l2) => WrappedTranslation (ReformulationOf (On 'RecordWildCards) '[On 'NamedFieldPuns] λ l2 pos s) Pattern Source # 
Instance details

Defined in Language.Haskell.Extensions.Reformulator

type On (e :: Extension) = 'ExtensionSwitch '(e, 'True) Source #

type Off (e :: Extension) = 'ExtensionSwitch '(e, 'False) Source #

on :: Extension -> ExtensionSwitch Source #

The on-switch for an extension

off :: Extension -> ExtensionSwitch Source #

The off-switch for an extension

allExtensions :: Set Extension Source #

Set of all extensions

includedByDefault :: Set Extension Source #

Set of extensions that are on by default

implications :: Map Extension (Map Extension Bool) Source #

Map of all extension implications, including directImplications but adding transitive implications

languageVersions :: Set Extension Source #

Set of language version extensions, such as Haskell2010

partitionContradictory :: Set ExtensionSwitch -> (Set ExtensionSwitch, Map Extension Bool) Source #

Given a set of extension switches, provides a Map of extensions to their on/off state an a Set of contradictory extensions.

switchesByName :: (IsString t, Ord t, Semigroup t) => Map t ExtensionSwitch Source #

Map from valid extension switch strings (such as EmptyCase or NoArrows) to the corresponding extension switches

withImplications :: Map Extension Bool -> Map Extension Bool Source #

Adds the implied extensions to the given set of extension switches