| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Tools.AST.Base
Description
Simple AST elements of Haskell
- data Operator dom stage
- = BacktickOp {
- _operatorName :: Ann QualifiedName dom stage
- | NormalOp {
- _operatorName :: Ann QualifiedName dom stage
- = BacktickOp {
- data Name dom stage
- = ParenName {
- _simpleName :: Ann QualifiedName dom stage
- | NormalName {
- _simpleName :: Ann QualifiedName dom stage
- | ImplicitName {
- _simpleName :: Ann QualifiedName dom stage
- = ParenName {
- data QualifiedName dom stage = QualifiedName {
- _qualifiers :: AnnList UnqualName dom stage
- _unqualifiedName :: Ann UnqualName dom stage
- nameFromList :: AnnList UnqualName dom stage -> QualifiedName dom stage
- data UnqualName dom stage = UnqualName {}
- data StringNode dom stage = StringNode {}
- data ModuleName dom stage = ModuleName {}
- data DataOrNewtypeKeyword dom stage
- data DoKind dom stage
- data TypeKeyword dom stage = TypeKeyword
- data OverlapPragma dom stage
- data CallConv dom stage
- data ArrowAppl dom stage
- data Safety dom stage
- data Assoc dom stage
- data Role dom stage
- data ConlikeAnnot dom stage = ConlikeAnnot
- data Precedence dom stage = Precedence {}
- data LineNumber dom stage = LineNumber {
- _lineNumber :: Int
- data PhaseControl dom stage = PhaseControl {
- _phaseUntil :: AnnMaybe PhaseInvert dom stage
- _phaseNumber :: Ann PhaseNumber dom stage
- data PhaseNumber dom stage = PhaseNumber {}
- data PhaseInvert dom stage = PhaseInvert
Documentation
data Operator dom stage Source #
Constructors
| BacktickOp | Backtick operator name: |
Fields
| |
| NormalOp | |
Fields
| |
Constructors
| ParenName | Parenthesized name: |
Fields
| |
| NormalName | |
Fields
| |
| ImplicitName | Implicit name: |
Fields
| |
data QualifiedName dom stage Source #
Possible qualified names. Contains also implicit names.
Linear implicit parameter: %x. Non-linear implicit parameter: ?x.
Constructors
| QualifiedName | |
Fields
| |
Instances
| type Rep (QualifiedName dom stage) Source # | |
nameFromList :: AnnList UnqualName dom stage -> QualifiedName dom stage Source #
data UnqualName dom stage Source #
Parts of a qualified name.
Constructors
| UnqualName | |
Fields | |
Instances
| type Rep (UnqualName dom stage) Source # | |
data StringNode dom stage Source #
Program elements formatted as string literals (import packages, pragma texts)
Constructors
| StringNode | |
Fields | |
Instances
| type Rep (StringNode dom stage) Source # | |
data ModuleName dom stage Source #
The name of a module
Constructors
| ModuleName | |
Fields | |
Instances
| type Rep (ModuleName dom stage) Source # | |
data DataOrNewtypeKeyword dom stage Source #
The data or the newtype keyword to define ADTs.
Constructors
| DataKeyword | |
| NewtypeKeyword |
Instances
| type Rep (DataOrNewtypeKeyword dom stage) Source # | |
data DoKind dom stage Source #
Keywords do or mdo to start a do-block
Constructors
| DoKeyword | |
| MDoKeyword |
data TypeKeyword dom stage Source #
The type keyword used to qualify that the type and not the constructor of the same name is referred
Constructors
| TypeKeyword |
Instances
| type Rep (TypeKeyword dom stage) Source # | |
data OverlapPragma dom stage Source #
Recognised overlaps for overlap pragmas. Can be applied to class declarations and class instance declarations.
Constructors
| EnableOverlap |
|
| DisableOverlap |
|
| Overlappable |
|
| Overlapping |
|
| Overlaps |
|
| IncoherentOverlap |
|
Instances
| type Rep (OverlapPragma dom stage) Source # | |
data ArrowAppl dom stage Source #
Constructors
| LeftAppl | Left arrow application: |
| RightAppl | Right arrow application: |
| LeftHighApp | Left arrow high application: |
| RightHighApp | Right arrow high application: |
data Safety dom stage Source #
Safety annotations for foreign calls
Constructors
| Safe | |
| ThreadSafe | |
| Unsafe | |
| Interruptible |
Associativity of an operator.
Constructors
| AssocNone | non-associative operator (declared with |
| AssocLeft | left-associative operator (declared with |
| AssocRight | right-associative operator (declared with |
Constructors
| Nominal | |
| Representational | |
| Phantom |
data ConlikeAnnot dom stage Source #
Constructors
| ConlikeAnnot |
Instances
| type Rep (ConlikeAnnot dom stage) Source # | |
data Precedence dom stage Source #
Numeric precedence of an operator
Constructors
| Precedence | |
Fields | |
Instances
| type Rep (Precedence dom stage) Source # | |
data LineNumber dom stage Source #
Constructors
| LineNumber | |
Fields
| |
Instances
| type Rep (LineNumber dom stage) Source # | |
data PhaseControl dom stage Source #
Controls the activation of a rewrite rule ( [1] )
Constructors
| PhaseControl | |
Fields
| |
Instances
| type Rep (PhaseControl dom stage) Source # | |
data PhaseNumber dom stage Source #
Phase number for rewrite rules
Constructors
| PhaseNumber | |
Instances
| type Rep (PhaseNumber dom stage) Source # | |
data PhaseInvert dom stage Source #
A tilde that marks the inversion of the phase number
Constructors
| PhaseInvert |
Instances
| type Rep (PhaseInvert dom stage) Source # | |