Module
PureScript.CST.Types
- Package
- purescript-language-cst-parser
- Repository
- natefaubion/purescript-language-cst-parser
#ModuleName Source
#SourceRange Source
type SourceRange = { end :: SourcePos, start :: SourcePos }#Token Source
data TokenConstructors
TokLeftParenTokRightParenTokLeftBraceTokRightBraceTokLeftSquareTokRightSquareTokLeftArrow SourceStyleTokRightArrow SourceStyleTokRightFatArrow SourceStyleTokDoubleColon SourceStyleTokForall SourceStyleTokEqualsTokPipeTokTickTokDotTokCommaTokUnderscoreTokBackslashTokAtTokLowerName (Maybe ModuleName) StringTokUpperName (Maybe ModuleName) StringTokOperator (Maybe ModuleName) StringTokSymbolName (Maybe ModuleName) StringTokSymbolArrow SourceStyleTokHole StringTokChar String CharTokString String StringTokRawString StringTokInt String IntValueTokNumber String NumberTokLayoutStart IntTokLayoutSep IntTokLayoutEnd Int
Instances
#SourceToken Source
type SourceToken = { leadingComments :: Array (Comment LineFeed), range :: SourceRange, trailingComments :: Array (Comment Void), value :: Token }#QualifiedName Source
newtype QualifiedName aConstructors
QualifiedName { module :: Maybe ModuleName, name :: a, token :: SourceToken }
Instances
Newtype (QualifiedName a) _
#Wrapped Source
newtype Wrapped aConstructors
Wrapped { close :: SourceToken, open :: SourceToken, value :: a }
Instances
#Labeled Source
newtype Labeled a bConstructors
Labeled { label :: a, separator :: SourceToken, value :: b }
Instances
#DelimitedNonEmpty Source
type DelimitedNonEmpty a = Wrapped (Separated a)#Type Source
data Type eConstructors
TypeVar (Name Ident)TypeConstructor (QualifiedName Proper)TypeWildcard SourceTokenTypeHole (Name Ident)TypeString SourceToken StringTypeInt (Maybe SourceToken) SourceToken IntValueTypeRow (Wrapped (Row e))TypeRecord (Wrapped (Row e))TypeForall SourceToken (NonEmptyArray (TypeVarBinding e)) SourceToken (Type e)TypeKinded (Type e) SourceToken (Type e)TypeApp (Type e) (NonEmptyArray (Type e))TypeOp (Type e) (NonEmptyArray (Tuple (QualifiedName Operator) (Type e)))TypeOpName (QualifiedName Operator)TypeArrow (Type e) SourceToken (Type e)TypeArrowName SourceTokenTypeConstrained (Type e) SourceToken (Type e)TypeParens (Wrapped (Type e))TypeError e
#TypeVarBinding Source
data TypeVarBinding eConstructors
TypeVarKinded (Wrapped (Labeled (Name Ident) (Type e)))TypeVarName (Name Ident)
#Module Source
#ModuleHeader Source
newtype ModuleHeader eConstructors
ModuleHeader { exports :: Maybe (DelimitedNonEmpty (Export e)), imports :: Array (ImportDecl e), keyword :: SourceToken, name :: Name ModuleName, where :: SourceToken }
Instances
Newtype (ModuleHeader e) _
#ModuleBody Source
newtype ModuleBody eConstructors
ModuleBody { decls :: Array (Declaration e), end :: SourcePos, trailingComments :: Array (Comment LineFeed) }
Instances
Newtype (ModuleBody e) _
#Declaration Source
data Declaration eConstructors
DeclData (DataHead e) (Maybe (Tuple SourceToken (Separated (DataCtor e))))DeclType (DataHead e) SourceToken (Type e)DeclNewtype (DataHead e) SourceToken (Name Proper) (Type e)DeclClass (ClassHead e) (Maybe (Tuple SourceToken (NonEmptyArray (Labeled (Name Ident) (Type e)))))DeclInstanceChain (Separated (Instance e))DeclDerive SourceToken (Maybe SourceToken) (InstanceHead e)DeclKindSignature SourceToken (Labeled (Name Proper) (Type e))DeclSignature (Labeled (Name Ident) (Type e))DeclValue (ValueBindingFields e)DeclFixity FixityFieldsDeclForeign SourceToken SourceToken (Foreign e)DeclRole SourceToken SourceToken (Name Proper) (NonEmptyArray (Tuple SourceToken Role))DeclError e
#Instance Source
newtype Instance eConstructors
Instance { body :: Maybe (Tuple SourceToken (NonEmptyArray (InstanceBinding e))), head :: InstanceHead e }
Instances
#InstanceBinding Source
data InstanceBinding eConstructors
#ImportDecl Source
newtype ImportDecl eConstructors
ImportDecl { keyword :: SourceToken, module :: Name ModuleName, names :: Maybe (Tuple (Maybe SourceToken) (DelimitedNonEmpty (Import e))), qualified :: Maybe (Tuple SourceToken (Name ModuleName)) }
Instances
Newtype (ImportDecl e) _
#DataHead Source
type DataHead e = { keyword :: SourceToken, name :: Name Proper, vars :: Array (TypeVarBinding e) }#ClassHead Source
type ClassHead e = { fundeps :: Maybe (Tuple SourceToken (Separated ClassFundep)), keyword :: SourceToken, name :: Name Proper, super :: Maybe (Tuple (OneOrDelimited (Type e)) SourceToken), vars :: Array (TypeVarBinding e) }#ClassFundep Source
data ClassFundepConstructors
#InstanceHead Source
type InstanceHead e = { className :: QualifiedName Proper, constraints :: Maybe (Tuple (OneOrDelimited (Type e)) SourceToken), keyword :: SourceToken, name :: Maybe (Tuple (Name Ident) SourceToken), types :: Array (Type e) }#FixityFields Source
type FixityFields = { keyword :: Tuple SourceToken Fixity, operator :: FixityOp, prec :: Tuple SourceToken Int }#GuardedExpr Source
newtype GuardedExpr eConstructors
GuardedExpr { bar :: SourceToken, patterns :: Separated (PatternGuard e), separator :: SourceToken, where :: Where e }
Instances
Newtype (GuardedExpr e) _
#PatternGuard Source
newtype PatternGuard eConstructors
PatternGuard { binder :: Maybe (Tuple (Binder e) SourceToken), expr :: Expr e }
Instances
Newtype (PatternGuard e) _
#Foreign Source
data Foreign eConstructors
ForeignValue (Labeled (Name Ident) (Type e))ForeignData SourceToken (Labeled (Name Proper) (Type e))ForeignKind SourceToken (Name Proper)
#Expr Source
data Expr eConstructors
ExprHole (Name Ident)ExprSection SourceTokenExprIdent (QualifiedName Ident)ExprConstructor (QualifiedName Proper)ExprBoolean SourceToken BooleanExprChar SourceToken CharExprString SourceToken StringExprInt SourceToken IntValueExprNumber SourceToken NumberExprArray (Delimited (Expr e))ExprRecord (Delimited (RecordLabeled (Expr e)))ExprParens (Wrapped (Expr e))ExprTyped (Expr e) SourceToken (Type e)ExprInfix (Expr e) (NonEmptyArray (Tuple (Wrapped (Expr e)) (Expr e)))ExprOp (Expr e) (NonEmptyArray (Tuple (QualifiedName Operator) (Expr e)))ExprOpName (QualifiedName Operator)ExprNegate SourceToken (Expr e)ExprRecordAccessor (RecordAccessor e)ExprRecordUpdate (Expr e) (DelimitedNonEmpty (RecordUpdate e))ExprApp (Expr e) (NonEmptyArray (Expr e))ExprLambda (Lambda e)ExprIf (IfThenElse e)ExprCase (CaseOf e)ExprLet (LetIn e)ExprDo (DoBlock e)ExprAdo (AdoBlock e)ExprError e
#RecordUpdate Source
data RecordUpdate eConstructors
#RecordAccessor Source
type RecordAccessor e = { dot :: SourceToken, expr :: Expr e, path :: Separated (Name Label) }#Lambda Source
type Lambda e = { arrow :: SourceToken, binders :: NonEmptyArray (Binder e), body :: Expr e, symbol :: SourceToken }#IfThenElse Source
type IfThenElse e = { cond :: Expr e, else :: SourceToken, false :: Expr e, keyword :: SourceToken, then :: SourceToken, true :: Expr e }#CaseOf Source
type CaseOf e = { branches :: NonEmptyArray (Tuple (Separated (Binder e)) (Guarded e)), head :: Separated (Expr e), keyword :: SourceToken, of :: SourceToken }#LetIn Source
type LetIn e = { bindings :: NonEmptyArray (LetBinding e), body :: Expr e, in :: SourceToken, keyword :: SourceToken }#Where Source
newtype Where eConstructors
Where { bindings :: Maybe (Tuple SourceToken (NonEmptyArray (LetBinding e))), expr :: Expr e }
Instances
#LetBinding Source
data LetBinding eConstructors
#DoBlock Source
type DoBlock e = { keyword :: SourceToken, statements :: NonEmptyArray (DoStatement e) }#DoStatement Source
data DoStatement eConstructors
DoLet SourceToken (NonEmptyArray (LetBinding e))DoDiscard (Expr e)DoBind (Binder e) SourceToken (Expr e)DoError e
#AdoBlock Source
type AdoBlock e = { in :: SourceToken, keyword :: SourceToken, result :: Expr e, statements :: Array (DoStatement e) }#Binder Source
data Binder eConstructors
BinderWildcard SourceTokenBinderVar (Name Ident)BinderNamed (Name Ident) SourceToken (Binder e)BinderConstructor (QualifiedName Proper) (Array (Binder e))BinderBoolean SourceToken BooleanBinderChar SourceToken CharBinderString SourceToken StringBinderInt (Maybe SourceToken) SourceToken IntValueBinderNumber (Maybe SourceToken) SourceToken NumberBinderArray (Delimited (Binder e))BinderRecord (Delimited (RecordLabeled (Binder e)))BinderParens (Wrapped (Binder e))BinderTyped (Binder e) SourceToken (Type e)BinderOp (Binder e) (NonEmptyArray (Tuple (QualifiedName Operator) (Binder e)))BinderError e
- Modules
- PureScript.
CST - PureScript.
CST. Errors - PureScript.
CST. Layout - PureScript.
CST. Lexer - PureScript.
CST. ModuleGraph - PureScript.
CST. Parser - PureScript.
CST. Parser. Monad - PureScript.
CST. Print - PureScript.
CST. Range - PureScript.
CST. Range. TokenList - PureScript.
CST. TokenStream - PureScript.
CST. Traversal - PureScript.
CST. Types