Module
Language.PS.SmartCST
- Package
- purescript-ps-cst
- Repository
- purescript-codegen/purescript-ps-cst
Re-exports from Language.PS.CST.ReservedNames
#quoteIfReserved Source
quoteIfReserved :: String -> StringRe-exports from Language.PS.CST.Sugar.Leafs
#mkRowLabel Source
mkRowLabel :: forall type_. (String /\ type_) -> { label :: Label, type_ :: type_ }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.SmartCST.ProcessModule
#Module Source
newtype ModuleConstructors
Module { declarations :: Array Declaration, exports :: Array Export, moduleName :: ModuleName }
#moduleToCstModule Source
moduleToCstModule :: Module -> ModuleRe-exports from Language.PS.SmartCST.Sugar.Declaration
#stringType Source
stringType :: PSType#numberType Source
numberType :: PSTypeRe-exports from Language.PS.SmartCST.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 (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
#PSConstraint Source
newtype PSConstraintConstructors
PSConstraint { args :: Array PSType, className :: SmartQualifiedName (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 :: SmartQualifiedName (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 (SmartQualifiedName Ident) (SmartQualifiedNameConstructor)) (OpName OpNameType_ValueOpName)FixityType (SmartQualifiedName (ProperName ProperNameType_TypeConstructor)) (OpName OpNameType_TypeOpName)
Instances
#FixityFields Source
type FixityFields = { keyword :: Fixity, operator :: FixityOp, precedence :: Int }#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
#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 :: 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
#(====>>) Source
Operator alias for Language.PS.SmartCST.Types.Declaration.TypeArr (right-associative / precedence 5)
#(====>) Source
Operator alias for Language.PS.SmartCST.Types.Declaration.ExprLambda (left-associative / precedence 5)
Re-exports from Language.PS.SmartCST.Types.SmartQualifiedName
#SmartQualifiedName Source
data SmartQualifiedName aConstructors
SmartQualifiedName__Ignore aSmartQualifiedName__Full ModuleName aSmartQualifiedName__Simple ModuleName aSmartQualifiedName__Custom ModuleName ModuleName a
Instances
Generic (SmartQualifiedName a) _Functor SmartQualifiedName(Eq a) => Eq (SmartQualifiedName a)(Ord a) => Ord (SmartQualifiedName a)(Show a) => Show (SmartQualifiedName a)
Re-exports from Language.PS.SmartCST.Types.SmartQualifiedNameConstructor
#SmartQualifiedNameConstructor Source
data SmartQualifiedNameConstructorConstructors
SmartQualifiedNameConstructor__Ignore (ProperName ProperNameType_ConstructorName)SmartQualifiedNameConstructor__Full ModuleName (ProperName ProperNameType_ConstructorName) (ProperName ProperNameType_TypeConstructor)SmartQualifiedNameConstructor__Simple ModuleName (ProperName ProperNameType_ConstructorName) (ProperName ProperNameType_TypeConstructor)SmartQualifiedNameConstructor__Custom ModuleName ModuleName (ProperName ProperNameType_ConstructorName) (ProperName ProperNameType_TypeConstructor)
Instances
- 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
Rendered as