Module
Language.PS.CST
- Package
- purescript-ps-cst
- Repository
- purescript-codegen/purescript-ps-cst
Re-exports from Language.PS.CST.Printers
#printRecordUpdate Source
printRecordUpdate :: RecordUpdate -> Doc Void#printRecordLabeled Source
printRecordLabeled :: forall a. (a -> Doc Void) -> RecordLabeled a -> Doc Void#printLetBinding Source
printLetBinding :: LetBinding -> Doc Void#printDeclarations Source
printDeclarations :: Array Declaration -> Doc Void#printDeclaration Source
printDeclaration :: Declaration -> Doc VoidRe-exports from Language.PS.CST.ReservedNames
#quoteIfReserved Source
quoteIfReserved :: String -> StringRe-exports from Language.PS.CST.Sugar.Declaration
#stringType Source
stringType :: PSType#numberType Source
numberType :: PSTypeRe-exports from Language.PS.CST.Sugar.Leafs
#mkRowLabel Source
mkRowLabel :: forall type_. (String /\ type_) -> { label :: Label, type_ :: type_ }Re-exports from Language.PS.CST.Sugar.QualifiedName
#qualifiedName Source
qualifiedName :: forall a. ModuleName -> a -> QualifiedName a#nonQualifiedName Source
nonQualifiedName :: forall a. a -> QualifiedName aRe-exports from Language.PS.CST.Types.Declaration
#ValueBindingFields Source
type ValueBindingFields = { binders :: Array Binder, guarded :: Guarded, name :: Ident }#TypeVarBinding Source
#RecordUpdate Source
#RecordAccessor Source
type RecordAccessor = { recExpr :: Expr, recPath :: NonEmptyArray Label }#PSType Source
data PSTypeConstructors
TypeVar IdentTypeConstructor (QualifiedName (ProperName ProperNameType_TypeConstructor))TypeWildcardTypeHole IdentTypeString StringTypeRow PSRowTypeRecord PSRowTypeApp PSType PSTypeTypeForall (NonEmptyArray TypeVarBinding) PSTypeTypeArr PSType PSTypeTypeKinded PSType PSTypeTypeOp PSType (QualifiedName (OpName OpNameType_TypeOpName)) PSTypeTypeConstrained PSConstraint PSType
Instances
#PSConstraint Source
newtype PSConstraintConstructors
PSConstraint { args :: Array PSType, className :: QualifiedName (ProperName ProperNameType_ClassName) }
Instances
Generic PSConstraint _ConstraintParens PSConstraint
Eq PSConstraintOrd PSConstraintShow PSConstraint
#LetIn Source
type LetIn = { bindings :: NonEmptyArray LetBinding, body :: Expr }#LetBinding Source
data LetBindingConstructors
LetBindingSignature { ident :: Ident, type_ :: PSType }LetBindingName ValueBindingFieldsLetBindingPattern { binder :: Binder, where_ :: Where }
Instances
#InstanceHead Source
type InstanceHead = { instClass :: QualifiedName (ProperName ProperNameType_ClassName), instConstraints :: Array PSConstraint, instName :: Ident, instTypes :: NonEmptyArray PSType }#InstanceBinding Source
data InstanceBindingConstructors
InstanceBindingSignature { ident :: Ident, type_ :: PSType }InstanceBindingName ValueBindingFields
Instances
#Instance Source
type Instance = { body :: Array InstanceBinding, head :: InstanceHead }#GuardedExpr Source
type GuardedExpr = { patterns :: NonEmptyArray PatternGuard, where_ :: Where }#Foreign Source
data ForeignConstructors
ForeignValue { ident :: Ident, type_ :: PSType }ForeignData { kind_ :: PSType, name :: ProperName ProperNameType_TypeConstructor }ForeignKind { name :: ProperName ProperNameType_TypeConstructor }
Instances
#FixityOp Source
data FixityOpConstructors
FixityValue (Either (QualifiedName Ident) (QualifiedName (ProperName ProperNameType_ConstructorName))) (OpName OpNameType_ValueOpName)FixityType (QualifiedName (ProperName ProperNameType_TypeConstructor)) (OpName OpNameType_TypeOpName)
Instances
#FixityFields Source
type FixityFields = { keyword :: Fixity, operator :: FixityOp, precedence :: Int }#Expr Source
data ExprConstructors
ExprHole IdentExprSectionExprIdent (QualifiedName Ident)ExprConstructor (QualifiedName (ProperName ProperNameType_ConstructorName))ExprBoolean BooleanExprChar CharExprString StringExprNumber (Either Int Number)ExprArray (Array Expr)ExprRecord (Array (RecordLabeled Expr))ExprTyped Expr PSTypeExprInfix Expr Expr ExprExprOp Expr (QualifiedName (OpName OpNameType_ValueOpName)) ExprExprOpName (QualifiedName (OpName OpNameType_ValueOpName))ExprNegate ExprExprRecordAccessor RecordAccessorExprRecordUpdate Expr (NonEmptyArray RecordUpdate)ExprApp Expr ExprExprLambda LambdaExprIf IfThenElseExprCase CaseOfExprLet LetInExprDo (NonEmptyArray DoStatement)ExprAdo AdoBlock
Instances
#DoStatement Source
data DoStatementConstructors
DoLet (NonEmptyArray LetBinding)DoDiscard ExprDoBind { binder :: Binder, expr :: Expr }
Instances
#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
#ClassHead Source
type ClassHead = { fundeps :: Array ClassFundep, name :: ProperName ProperNameType_ClassName, super :: Array PSConstraint, vars :: Array TypeVarBinding }#CaseOf Source
type CaseOf = { branches :: NonEmptyArray { binders :: NonEmptyArray Binder, body :: Guarded }, head :: NonEmptyArray Expr }#Binder Source
data BinderConstructors
BinderWildcardBinderVar IdentBinderNamed { binder :: Binder, ident :: Ident }BinderConstructor { args :: Array Binder, name :: QualifiedName (ProperName ProperNameType_ConstructorName) }BinderBoolean BooleanBinderChar CharBinderString StringBinderNumber (Either Int Number)BinderArray (Array Binder)BinderRecord (Array (RecordLabeled Binder))BinderTyped Binder PSTypeBinderOp Binder (QualifiedName (OpName OpNameType_ValueOpName)) Binder
Instances
#(====>>) Source
Operator alias for Language.PS.CST.Types.Declaration.TypeArr (right-associative / precedence 5)
#(====>) Source
Operator alias for Language.PS.CST.Types.Declaration.ExprLambda (left-associative / precedence 5)
Re-exports from Language.PS.CST.Types.Leafs
#RecordLabeled Source
data RecordLabeled aConstructors
Instances
Functor RecordLabeledFoldable RecordLabeledTraversable RecordLabeledGeneric (RecordLabeled a) _(Eq a) => Eq (RecordLabeled a)(Ord a) => Ord (RecordLabeled a)(Show a) => Show (RecordLabeled a)
#ProperNameType Source
data ProperNameType#ProperName Source
newtype ProperName (proxy :: ProperNameType)Constructors
Instances
Newtype (ProperName proxy) _Generic (ProperName proxy) _Eq (ProperName proxy)Ord (ProperName proxy)Show (ProperName proxy)
#OpNameType_ValueOpName Source
data OpNameType_ValueOpName :: OpNameType#OpNameType_TypeOpName Source
data OpNameType_TypeOpName :: OpNameType#OpNameType Source
data OpNameType#ModuleName Source
#ClassFundep Source
data ClassFundepConstructors
Instances
Generic ClassFundep _FundepDetermined (NonEmptyArray Ident) -- parser is not allowing it (i.e.
class Foo a | a)?Eq ClassFundepOrd ClassFundepShow ClassFundep
Re-exports from Language.PS.CST.Types.Module
#ImportDecl Source
newtype ImportDeclConstructors
ImportDecl { moduleName :: ModuleName, names :: Array Import, qualification :: Maybe ModuleName }
Instances
#Import Source
data ImportConstructors
ImportValue IdentImportOp (OpName OpNameType_ValueOpName)ImportType (ProperName ProperNameType_TypeConstructor) (Maybe DataMembers)ImportTypeOp (OpName OpNameType_TypeOpName)ImportClass (ProperName ProperNameType_ClassName)ImportKind (ProperName ProperNameType_TypeConstructor)
Instances
#Export Source
data ExportConstructors
ExportValue IdentExportOp (OpName OpNameType_ValueOpName)ExportType (ProperName ProperNameType_TypeConstructor) (Maybe DataMembers)ExportTypeOp (OpName OpNameType_TypeOpName)ExportClass (ProperName ProperNameType_ClassName)ExportKind (ProperName ProperNameType_TypeConstructor)ExportModule ModuleName
Instances
#DataMembers Source
Re-exports from Language.PS.CST.Types.QualifiedName
#QualifiedName Source
newtype QualifiedName aConstructors
QualifiedName { qualModule :: Maybe ModuleName, qualName :: a }
Instances
Functor QualifiedNameNewtype (QualifiedName a) _(Eq a) => Eq (QualifiedName a)(Ord a) => Ord (QualifiedName a)(Show a) => Show (QualifiedName a)
- 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 (QualifiedName (OpName OpNameType_TypeOpName)) TypeArrName TypeParens PSType -- generated automatically