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 # | |