blob: b108013f4b85020888db71c20ce0ab07df1607ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
-----------------------------------------------------------------------------
-- |
-- Module : GHC.LanguageExtensions
-- Copyright : (c) The GHC Team
--
-- Maintainer : ghc-devs@haskell.org
-- Portability : portable
--
-- A data type defining the language extensions supported by GHC.
--
module GHC.LanguageExtensions ( Extension(..) ) where
-- | The language extensions known to GHC.
data Extension
-- See Note [Updating flag description in the User's Guide] in DynFlags
= Cpp
| OverlappingInstances
| UndecidableInstances
| IncoherentInstances
| UndecidableSuperClasses
| MonomorphismRestriction
| MonoPatBinds
| MonoLocalBinds
| RelaxedPolyRec -- Deprecated
| ExtendedDefaultRules -- Use GHC's extended rules for defaulting
| ForeignFunctionInterface
| UnliftedFFITypes
| InterruptibleFFI
| CApiFFI
| GHCForeignImportPrim
| JavaScriptFFI
| ParallelArrays -- Syntactic support for parallel arrays
| Arrows -- Arrow-notation syntax
| TemplateHaskell
| TemplateHaskellQuotes -- subset of TH supported by stage1, no splice
| QuasiQuotes
| ImplicitParams
| ImplicitPrelude
| ScopedTypeVariables
| AllowAmbiguousTypes
| UnboxedTuples
| BangPatterns
| TypeFamilies
| TypeInType
| OverloadedStrings
| OverloadedLists
| NumDecimals
| DisambiguateRecordFields
| RecordWildCards
| RecordPuns
| ViewPatterns
| GADTs
| GADTSyntax
| NPlusKPatterns
| DoAndIfThenElse
| RebindableSyntax
| ConstraintKinds
| PolyKinds -- Kind polymorphism
| DataKinds -- Datatype promotion
| InstanceSigs
| ApplicativeDo
| StandaloneDeriving
| DeriveDataTypeable
| AutoDeriveTypeable -- Automatic derivation of Typeable
| DeriveFunctor
| DeriveTraversable
| DeriveFoldable
| DeriveGeneric -- Allow deriving Generic/1
| DefaultSignatures -- Allow extra signatures for defmeths
| DeriveAnyClass -- Allow deriving any class
| DeriveLift -- Allow deriving Lift
| TypeSynonymInstances
| FlexibleContexts
| FlexibleInstances
| ConstrainedClassMethods
| MultiParamTypeClasses
| NullaryTypeClasses
| FunctionalDependencies
| UnicodeSyntax
| ExistentialQuantification
| MagicHash
| EmptyDataDecls
| KindSignatures
| RoleAnnotations
| ParallelListComp
| TransformListComp
| MonadComprehensions
| GeneralizedNewtypeDeriving
| RecursiveDo
| PostfixOperators
| TupleSections
| PatternGuards
| LiberalTypeSynonyms
| RankNTypes
| ImpredicativeTypes
| TypeOperators
| ExplicitNamespaces
| PackageImports
| ExplicitForAll
| AlternativeLayoutRule
| AlternativeLayoutRuleTransitional
| DatatypeContexts
| NondecreasingIndentation
| RelaxedLayout
| TraditionalRecordSyntax
| LambdaCase
| MultiWayIf
| BinaryLiterals
| NegativeLiterals
| DuplicateRecordFields
| OverloadedLabels
| EmptyCase
| PatternSynonyms
| PartialTypeSignatures
| NamedWildCards
| StaticPointers
| Strict
| StrictData
| MonadFailDesugaring
deriving (Eq, Enum, Show)
|