Safe Haskell | None |
---|---|
Language | Haskell2010 |
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 #
BacktickOp | Backtick operator name: |
| |
NormalOp | |
|
ParenName | Parenthesized name: |
| |
NormalName | |
| |
ImplicitName | Implicit name: |
|
data QualifiedName dom stage Source #
Possible qualified names. Contains also implicit names.
Linear implicit parameter: %x
. Non-linear implicit parameter: ?x
.
QualifiedName | |
|
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.
type Rep (UnqualName dom stage) Source # | |
data StringNode dom stage Source #
Program elements formatted as string literals (import packages, pragma texts)
type Rep (StringNode dom stage) Source # | |
data DataOrNewtypeKeyword dom stage Source #
The data
or the newtype
keyword to define ADTs.
type Rep (DataOrNewtypeKeyword dom stage) Source # | |
data TypeKeyword dom stage Source #
The type
keyword used to qualify that the type and not the constructor of the same name is referred
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.
EnableOverlap |
|
DisableOverlap |
|
Overlappable |
|
Overlapping |
|
Overlaps |
|
IncoherentOverlap |
|
type Rep (OverlapPragma dom stage) Source # | |
data ArrowAppl dom stage Source #
LeftAppl | Left arrow application: |
RightAppl | Right arrow application: |
LeftHighApp | Left arrow high application: |
RightHighApp | Right arrow high application: |
Associativity of an operator.
AssocNone | non-associative operator (declared with |
AssocLeft | left-associative operator (declared with |
AssocRight | right-associative operator (declared with |
data Precedence dom stage Source #
Numeric precedence of an operator
type Rep (Precedence dom stage) Source # | |
data LineNumber dom stage Source #
type Rep (LineNumber dom stage) Source # | |
data PhaseControl dom stage Source #
Controls the activation of a rewrite rule ( [1]
)
PhaseControl | |
|
type Rep (PhaseControl dom stage) Source # | |
data PhaseNumber dom stage Source #
Phase number for rewrite rules
type Rep (PhaseNumber dom stage) Source # | |
data PhaseInvert dom stage Source #
A tilde that marks the inversion of the phase number
type Rep (PhaseInvert dom stage) Source # | |