haskell-tools-ast-0.2.0.0: Haskell AST for efficient tooling

Safe HaskellNone
LanguageHaskell2010

Language.Haskell.Tools.AST.Exprs

Description

Representation of Haskell expressions

Synopsis

Documentation

data Expr dom stage Source #

Haskell expressions

Constructors

Var

A variable or a data constructor ( a )

Fields

Lit

Primitive literal

Fields

InfixApp

Infix operator application ( a + b )

Fields

PrefixApp

Prefix operator application ( -x )

Fields

App

Function application ( f 4 ) unary minus omitted

Fields

Lambda

Lambda expression ( a b -> a + b )

Fields

Let

Local binding ( let x = 2; y = 3 in e x y )

Fields

If

If expression ( if a then b else c )

Fields

MultiIf

Multi way if expressions with MultiWayIf extension ( if | guard1 -> expr1; guard2 -> expr2 )

Fields

Case

Pattern matching expression ( case expr of pat1 -> expr1; pat2 -> expr2 )

Fields

Do

Do-notation expressions ( do x <- act1; act2 )

Fields

Tuple

Tuple expression ( (e1, e2, e3) )

Fields

UnboxedTuple

Unboxed tuple expression ( () )

Fields

TupleSection

Tuple section, enabled with TupleSections ( (a,,b) ). One of the elements must be missing.

UnboxedTupSec 
List

List expression: [1,2,3]

Fields

ParArray

Parallel array expression: [: 1,2,3 :]

Fields

Paren 

Fields

LeftSection

Left operator section: (1+)

Fields

RightSection

Right operator section: (+1)

Fields

RecCon

Record value construction: Point { x = 3, y = -2 }

Fields

RecUpdate

Record value update: p1 { x = 3, y = -2 }

Fields

Enum

Enumeration expression ( [1,3..10] )

Fields

ParArrayEnum

Parallel array enumeration ( [: 1,3 .. 10 :] )

Fields

ListComp

List comprehension ( [ (x, y) | x <- xs | y <- ys ] )

Fields

ParArrayComp

Parallel array comprehensions [: (x, y) | x <- xs , y <- ys :] enabled by ParallelArrays

Fields

TypeSig

Explicit type signature ( _x :: Int )

Fields

ExplTypeApp

Explicit type application ( show @Integer (read "5") )

Fields

VarQuote

'x for template haskell reifying of expressions

Fields

TypeQuote

''T for template haskell reifying of types

Fields

BracketExpr

Template haskell bracket expression

Fields

Splice

Template haskell splice expression, for example: $(gen a) or $x

Fields

QuasiQuoteExpr

Template haskell quasi-quotation: [$quoter|str]

Fields

ExprPragma 

Fields

Proc

Arrow definition: proc a -> f -< a+1

Fields

ArrowApp

Arrow application: f -< a+1

Fields

LamCase

Lambda case ( case 0 -> 1; 1 -> 2 )

Fields

StaticPtr

Static pointer expression ( static e ). The inner expression must be closed (cannot have variables bound outside) XML expressions omitted

Fields

Instances

type Rep (Expr dom stage) Source # 
type Rep (Expr dom stage) = D1 (MetaData "Expr" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Var" PrefixI True) (S1 (MetaSel (Just Symbol "_exprName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage)))) (C1 (MetaCons "Lit" PrefixI True) (S1 (MetaSel (Just Symbol "_exprLit") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Literal dom stage))))) ((:+:) (C1 (MetaCons "InfixApp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprLhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_exprOperator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Operator dom stage))) (S1 (MetaSel (Just Symbol "_exprRhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))))) (C1 (MetaCons "PrefixApp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprOperator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Operator dom stage))) (S1 (MetaSel (Just Symbol "_exprRhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))))))) ((:+:) ((:+:) (C1 (MetaCons "App" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprFun") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_exprArg") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))))) (C1 (MetaCons "Lambda" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprBindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Pattern dom stage))) (S1 (MetaSel (Just Symbol "_exprInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))))) ((:+:) (C1 (MetaCons "Let" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprFunBind") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList LocalBind dom stage))) (S1 (MetaSel (Just Symbol "_exprInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))))) ((:+:) (C1 (MetaCons "If" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprCond") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_exprThen") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_exprElse") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))))) (C1 (MetaCons "MultiIf" PrefixI True) (S1 (MetaSel (Just Symbol "_exprIfAlts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList GuardedCaseRhs dom stage)))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "Case" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprCase") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_exprAlts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Alt dom stage))))) (C1 (MetaCons "Do" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_doKind") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann DoKind dom stage))) (S1 (MetaSel (Just Symbol "_exprStmts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Stmt dom stage)))))) ((:+:) (C1 (MetaCons "Tuple" PrefixI True) (S1 (MetaSel (Just Symbol "_tupleElems") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Expr dom stage)))) ((:+:) (C1 (MetaCons "UnboxedTuple" PrefixI True) (S1 (MetaSel (Just Symbol "_tupleElems") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Expr dom stage)))) (C1 (MetaCons "TupleSection" PrefixI True) (S1 (MetaSel (Just Symbol "_tupleSectionElems") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList TupSecElem dom stage))))))) ((:+:) ((:+:) (C1 (MetaCons "UnboxedTupSec" PrefixI True) (S1 (MetaSel (Just Symbol "_tupleSectionElems") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList TupSecElem dom stage)))) (C1 (MetaCons "List" PrefixI True) (S1 (MetaSel (Just Symbol "_listElems") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Expr dom stage))))) ((:+:) (C1 (MetaCons "ParArray" PrefixI True) (S1 (MetaSel (Just Symbol "_listElems") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Expr dom stage)))) ((:+:) (C1 (MetaCons "Paren" PrefixI True) (S1 (MetaSel (Just Symbol "_exprInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))) (C1 (MetaCons "LeftSection" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprLhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_exprOperator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Operator dom stage)))))))))) ((:+:) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "RightSection" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprOperator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Operator dom stage))) (S1 (MetaSel (Just Symbol "_exprRhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))))) (C1 (MetaCons "RecCon" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprRecName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage))) (S1 (MetaSel (Just Symbol "_exprRecFields") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList FieldUpdate dom stage)))))) ((:+:) (C1 (MetaCons "RecUpdate" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_exprRecFields") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList FieldUpdate dom stage))))) (C1 (MetaCons "Enum" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_enumFrom") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_enumThen") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnMaybe Expr dom stage))) (S1 (MetaSel (Just Symbol "_enumTo") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnMaybe Expr dom stage)))))))) ((:+:) ((:+:) (C1 (MetaCons "ParArrayEnum" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_enumFrom") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_enumThen") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnMaybe Expr dom stage))) (S1 (MetaSel (Just Symbol "_enumToFix") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))))) (C1 (MetaCons "ListComp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_compExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_compBody") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList ListCompBody dom stage)))))) ((:+:) (C1 (MetaCons "ParArrayComp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_compExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_compBody") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList ListCompBody dom stage))))) ((:+:) (C1 (MetaCons "TypeSig" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_exprSig") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Type dom stage))))) (C1 (MetaCons "ExplTypeApp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_exprType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Type dom stage))))))))) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "VarQuote" PrefixI True) (S1 (MetaSel (Just Symbol "_quotedName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage)))) (C1 (MetaCons "TypeQuote" PrefixI True) (S1 (MetaSel (Just Symbol "_quotedName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage))))) ((:+:) (C1 (MetaCons "BracketExpr" PrefixI True) (S1 (MetaSel (Just Symbol "_bracket") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Bracket dom stage)))) ((:+:) (C1 (MetaCons "Splice" PrefixI True) (S1 (MetaSel (Just Symbol "_innerExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Splice dom stage)))) (C1 (MetaCons "QuasiQuoteExpr" PrefixI True) (S1 (MetaSel (Just Symbol "_exprQQ") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann QuasiQuote dom stage))))))) ((:+:) ((:+:) (C1 (MetaCons "ExprPragma" PrefixI True) (S1 (MetaSel (Just Symbol "_exprPragma") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann ExprPragma dom stage)))) (C1 (MetaCons "Proc" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_procPattern") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Pattern dom stage))) (S1 (MetaSel (Just Symbol "_procExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage)))))) ((:+:) (C1 (MetaCons "ArrowApp" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_exprLhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_arrowAppl") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann ArrowAppl dom stage))) (S1 (MetaSel (Just Symbol "_exprRhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))))) ((:+:) (C1 (MetaCons "LamCase" PrefixI True) (S1 (MetaSel (Just Symbol "_exprAlts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Alt dom stage)))) (C1 (MetaCons "StaticPtr" PrefixI True) (S1 (MetaSel (Just Symbol "_exprInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))))))))))

data FieldUpdate dom stage Source #

Field update expressions

Constructors

NormalFieldUpdate

Update of a field ( x = 1 )

Fields

FieldPun

Update the field to the value of the same name ( x )

Fields

FieldWildcard

Update the fields of the bounded names to their values ( .. ). Must be the last initializer. Cannot be used in a record update expression.

Fields

Instances

type Rep (FieldUpdate dom stage) Source # 
type Rep (FieldUpdate dom stage) = D1 (MetaData "FieldUpdate" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) (C1 (MetaCons "NormalFieldUpdate" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_fieldName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage))) (S1 (MetaSel (Just Symbol "_fieldValue") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))))) ((:+:) (C1 (MetaCons "FieldPun" PrefixI True) (S1 (MetaSel (Just Symbol "_fieldUpdateName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage)))) (C1 (MetaCons "FieldWildcard" PrefixI True) (S1 (MetaSel (Just Symbol "_fieldWildcard") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann FieldWildcard dom stage))))))

data FieldWildcard dom stage Source #

Marker for a field wildcard. Only needed to attach semantic information in a type-safe way.

Constructors

FldWildcard 

Instances

type Rep (FieldWildcard dom stage) Source # 
type Rep (FieldWildcard dom stage) = D1 (MetaData "FieldWildcard" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) (C1 (MetaCons "FldWildcard" PrefixI False) U1)

data TupSecElem dom stage Source #

An element of a tuple section that can be an expression or missing (indicating a value from a parameter)

Constructors

Present

An existing element in a tuple section

Fields

Missing

A missing element in a tuple section

Instances

type Rep (TupSecElem dom stage) Source # 
type Rep (TupSecElem dom stage) = D1 (MetaData "TupSecElem" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) (C1 (MetaCons "Present" PrefixI True) (S1 (MetaSel (Just Symbol "_tupSecExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))) (C1 (MetaCons "Missing" PrefixI False) U1))

data Alt' expr dom stage Source #

Clause of case expression

Constructors

Alt 

Fields

Instances

type Rep (Alt' expr dom stage) Source # 
type Rep (Alt' expr dom stage) = D1 (MetaData "Alt'" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) (C1 (MetaCons "Alt" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_altPattern") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Pattern dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_altRhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann (CaseRhs' expr) dom stage))) (S1 (MetaSel (Just Symbol "_altBinds") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnMaybe LocalBinds dom stage))))))

data CaseRhs' expr dom stage Source #

Right hand side of a match (possible with guards): ( = 3 or | x == 1 = 3; | otherwise = 4 )

Constructors

UnguardedCaseRhs 

Fields

GuardedCaseRhss 

Fields

Instances

type Rep (CaseRhs' expr dom stage) Source # 
type Rep (CaseRhs' expr dom stage) = D1 (MetaData "CaseRhs'" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) (C1 (MetaCons "UnguardedCaseRhs" PrefixI True) (S1 (MetaSel (Just Symbol "_rhsCaseExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann expr dom stage)))) (C1 (MetaCons "GuardedCaseRhss" PrefixI True) (S1 (MetaSel (Just Symbol "_rhsCaseGuards") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList (GuardedCaseRhs' expr) dom stage)))))

data GuardedCaseRhs' expr dom stage Source #

A guarded right-hand side of pattern matches binding ( | x > 3 -> 2 )

Constructors

GuardedCaseRhs 

Fields

Instances

type Rep (GuardedCaseRhs' expr dom stage) Source # 
type Rep (GuardedCaseRhs' expr dom stage) = D1 (MetaData "GuardedCaseRhs'" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) (C1 (MetaCons "GuardedCaseRhs" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_caseGuardStmts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList RhsGuard dom stage))) (S1 (MetaSel (Just Symbol "_caseGuardExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann expr dom stage)))))

data ExprPragma dom stage Source #

Pragmas that can be applied to expressions

Constructors

CorePragma 

Fields

SccPragma 

Fields

GeneratedPragma 

Fields

Instances

type Rep (ExprPragma dom stage) Source # 
type Rep (ExprPragma dom stage) = D1 (MetaData "ExprPragma" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) (C1 (MetaCons "CorePragma" PrefixI True) (S1 (MetaSel (Just Symbol "_pragmaStr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann StringNode dom stage)))) ((:+:) (C1 (MetaCons "SccPragma" PrefixI True) (S1 (MetaSel (Just Symbol "_pragmaStr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann StringNode dom stage)))) (C1 (MetaCons "GeneratedPragma" PrefixI True) (S1 (MetaSel (Just Symbol "_pragmaSrcRange") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann SourceRange dom stage))))))

data SourceRange dom stage Source #

In-AST source ranges (for generated pragmas)

Constructors

SourceRange 

Fields

Instances

type Rep (SourceRange dom stage) Source # 
type Rep (SourceRange dom stage) = D1 (MetaData "SourceRange" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) (C1 (MetaCons "SourceRange" PrefixI True) ((:*:) ((:*:) (S1 (MetaSel (Just Symbol "_srFileName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann StringNode dom stage))) (S1 (MetaSel (Just Symbol "_srFromLine") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Number dom stage)))) ((:*:) (S1 (MetaSel (Just Symbol "_srFromCol") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Number dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_srToLine") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Number dom stage))) (S1 (MetaSel (Just Symbol "_srToCol") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Number dom stage)))))))

data Number dom stage Source #

Constructors

Number 

Instances

type Rep (Number dom stage) Source # 
type Rep (Number dom stage) = D1 (MetaData "Number" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) (C1 (MetaCons "Number" PrefixI True) (S1 (MetaSel (Just Symbol "_numberInteger") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))

data Cmd dom stage Source #

Constructors

ArrowAppCmd 

Fields

ArrowFormCmd 

Fields

AppCmd 

Fields

InfixCmd 

Fields

LambdaCmd 

Fields

ParenCmd 

Fields

CaseCmd 

Fields

IfCmd 

Fields

LetCmd 

Fields

DoCmd 

Fields

Instances

type Rep (Cmd dom stage) Source # 
type Rep (Cmd dom stage) = D1 (MetaData "Cmd" "Language.Haskell.Tools.AST.Exprs" "haskell-tools-ast-0.2.0.0-5y5XIph7fmGIUhHQZ35OfD" False) ((:+:) ((:+:) ((:+:) (C1 (MetaCons "ArrowAppCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdLhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_cmdArrowOp") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann ArrowAppl dom stage))) (S1 (MetaSel (Just Symbol "_cmdRhs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage)))))) (C1 (MetaCons "ArrowFormCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_cmdInnerCmds") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Cmd dom stage)))))) ((:+:) (C1 (MetaCons "AppCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdInnerCmd") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage))) (S1 (MetaSel (Just Symbol "_cmdApplied") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))))) ((:+:) (C1 (MetaCons "InfixCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdLeftCmd") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_cmdOperator") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Name dom stage))) (S1 (MetaSel (Just Symbol "_cmdRightCmd") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage)))))) (C1 (MetaCons "LambdaCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdBindings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList Pattern dom stage))) (S1 (MetaSel (Just Symbol "_cmdInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage)))))))) ((:+:) ((:+:) (C1 (MetaCons "ParenCmd" PrefixI True) (S1 (MetaSel (Just Symbol "_cmdInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage)))) (C1 (MetaCons "CaseCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) (S1 (MetaSel (Just Symbol "_cmdAlts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList CmdAlt dom stage)))))) ((:+:) (C1 (MetaCons "IfCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdExpr") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Expr dom stage))) ((:*:) (S1 (MetaSel (Just Symbol "_cmdThen") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage))) (S1 (MetaSel (Just Symbol "_cmdElse") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage)))))) ((:+:) (C1 (MetaCons "LetCmd" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "_cmdBinds") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList LocalBind dom stage))) (S1 (MetaSel (Just Symbol "_cmdInner") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Ann Cmd dom stage))))) (C1 (MetaCons "DoCmd" PrefixI True) (S1 (MetaSel (Just Symbol "_cmdStmts") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (AnnList (Stmt' Cmd) dom stage))))))))