Module
Language.PS.SmartCST.Types.Declaration
- Package
- purescript-ps-cst
- Repository
- purescript-codegen/purescript-ps-cst
#Declaration Source
data DeclarationConstructors
DeclData { comments :: Maybe Comments, constructors :: Array DataCtor, head :: DataHead }DeclType { comments :: Maybe Comments, head :: DataHead, type_ :: PSType }DeclNewtype { comments :: Maybe Comments, head :: DataHead, name :: ProperName ProperNameType_ConstructorName, type_ :: PSType }DeclClass { comments :: Maybe Comments, head :: ClassHead, methods :: Array { ident :: Ident, type_ :: PSType } }DeclInstanceChain { comments :: Maybe Comments, instances :: NonEmptyArray (Instance) }DeclDerive { comments :: Maybe Comments, deriveType :: DeclDeriveType, head :: InstanceHead }DeclSignature { comments :: Maybe Comments, ident :: Ident, type_ :: PSType }DeclValue { comments :: Maybe Comments, valueBindingFields :: ValueBindingFields }DeclFixity { comments :: Maybe Comments, fixityFields :: FixityFields }DeclForeign { comments :: Maybe Comments, foreign_ :: Foreign }
Instances
#InstanceHead Source
type InstanceHead = { instClass :: SmartQualifiedName (ProperName ProperNameType_ClassName), instConstraints :: Array PSConstraint, instName :: Ident, instTypes :: NonEmptyArray PSType }#Foreign Source
data ForeignConstructors
ForeignValue { ident :: Ident, type_ :: PSType }ForeignData { kind_ :: PSType, name :: ProperName ProperNameType_TypeConstructor }ForeignKind { name :: ProperName ProperNameType_TypeConstructor }
Instances
#FixityFields Source
type FixityFields = { keyword :: Fixity, operator :: FixityOp, precedence :: Int }#FixityOp Source
data FixityOpConstructors
FixityValue (Either (SmartQualifiedName Ident) (SmartQualifiedNameConstructor)) (OpName OpNameType_ValueOpName)FixityType (SmartQualifiedName (ProperName ProperNameType_TypeConstructor)) (OpName OpNameType_TypeOpName)
Instances
#PSType Source
data PSTypeConstructors
TypeVar IdentTypeConstructor (SmartQualifiedName (ProperName ProperNameType_TypeConstructor))TypeWildcardTypeHole IdentTypeString StringTypeRow PSRowTypeRecord PSRowTypeApp PSType PSTypeTypeForall (NonEmptyArray TypeVarBinding) PSTypeTypeArr PSType PSTypeTypeKinded PSType PSTypeTypeOp PSType (SmartQualifiedName (OpName OpNameType_TypeOpName)) PSTypeTypeConstrained PSConstraint PSType
Instances
#TypeVarBinding Source
#PSConstraint Source
newtype PSConstraintConstructors
PSConstraint { args :: Array PSType, className :: SmartQualifiedName (ProperName ProperNameType_ClassName) }
Instances
Generic PSConstraint _ConstraintParens PSConstraint
Eq PSConstraintOrd PSConstraintShow PSConstraint
#ClassHead Source
type ClassHead = { fundeps :: Array ClassFundep, name :: ProperName ProperNameType_ClassName, super :: Array PSConstraint, vars :: Array TypeVarBinding }#ValueBindingFields Source
type ValueBindingFields = { binders :: Array Binder, guarded :: Guarded, name :: Ident }#Binder Source
data BinderConstructors
BinderWildcardBinderVar IdentBinderNamed { binder :: Binder, ident :: Ident }BinderConstructor { args :: Array Binder, name :: SmartQualifiedNameConstructor }BinderBoolean BooleanBinderChar CharBinderString StringBinderNumber (Either Int Number)BinderArray (Array Binder)BinderRecord (Array (RecordLabeled Binder))BinderTyped Binder PSTypeBinderOp Binder (SmartQualifiedName (OpName OpNameType_ValueOpName)) Binder
Instances
#LetBinding Source
data LetBindingConstructors
LetBindingSignature { ident :: Ident, type_ :: PSType }LetBindingName ValueBindingFieldsLetBindingPattern { binder :: Binder, where_ :: Where }
Instances
#GuardedExpr Source
type GuardedExpr = { patterns :: NonEmptyArray PatternGuard, where_ :: Where }#Expr Source
data ExprConstructors
ExprHole IdentExprSectionExprIdent (SmartQualifiedName Ident)ExprVar IdentExprConstructor (SmartQualifiedNameConstructor)ExprBoolean BooleanExprChar CharExprString StringExprNumber (Either Int Number)ExprArray (Array Expr)ExprRecord (Array (RecordLabeled Expr))ExprTyped Expr PSTypeExprInfix Expr Expr ExprExprOp Expr (SmartQualifiedName (OpName OpNameType_ValueOpName)) ExprExprOpName (SmartQualifiedName (OpName OpNameType_ValueOpName))ExprNegate ExprExprRecordAccessor RecordAccessorExprRecordUpdate Expr (NonEmptyArray RecordUpdate)ExprApp Expr ExprExprLambda LambdaExprIf IfThenElseExprCase CaseOfExprLet LetInExprDo (NonEmptyArray DoStatement)ExprAdo AdoBlock
Instances
#RecordAccessor Source
type RecordAccessor = { recExpr :: Expr, recPath :: NonEmptyArray Label }#RecordUpdate Source
#CaseOf Source
type CaseOf = { branches :: NonEmptyArray { binders :: NonEmptyArray Binder, body :: Guarded }, head :: NonEmptyArray Expr }#LetIn Source
type LetIn = { bindings :: NonEmptyArray LetBinding, body :: Expr }#DoStatement Source
data DoStatementConstructors
DoLet (NonEmptyArray LetBinding)DoDiscard ExprDoBind { binder :: Binder, expr :: Expr }
Instances
#InstanceBinding Source
data InstanceBindingConstructors
InstanceBindingSignature { ident :: Ident, type_ :: PSType }InstanceBindingName ValueBindingFields
Instances
#Instance Source
type Instance = { body :: Array InstanceBinding, head :: InstanceHead }- Modules
- Language.
PS. CST - Language.
PS. CST. Printers - Language.
PS. CST. Printers. PrintImports - Language.
PS. CST. Printers. PrintModuleModuleNameAndExports - Language.
PS. CST. Printers. TypeLevel - Language.
PS. CST. Printers. Utils - Language.
PS. CST. ReservedNames - Language.
PS. CST. Sugar. Declaration - Language.
PS. CST. Sugar. Leafs - Language.
PS. CST. Sugar. QualifiedName - Language.
PS. CST. Types. Declaration - Language.
PS. CST. Types. Leafs - Language.
PS. CST. Types. Module - Language.
PS. CST. Types. QualifiedName - Language.
PS. SmartCST - Language.
PS. SmartCST. ProcessModule - Language.
PS. SmartCST. ProcessSmartDeclaration - Language.
PS. SmartCST. ProcessSmartDeclaration. Utils - Language.
PS. SmartCST. Sugar. Declaration - Language.
PS. SmartCST. Types. Declaration - Language.
PS. SmartCST. Types. SmartQualifiedName - Language.
PS. SmartCST. Types. SmartQualifiedNameConstructor
TypeOpName (SmartQualifiedName (OpName OpNameType_TypeOpName)) TypeArrName TypeParens PSType -- generated automatically