Module etypes

Module etypes 

Source

Structs§

BoundedTyvar
boundedtyvar_e in the spec
Component
componenttype_e in the specification
CoreCtx
gamma_c in the specification
CoreExportDecl
core:exportdecl in the specification
CoreInstance
core:instancetype_e in the specification
CoreModule
core:moduletype_e in the specification
Ctx
gamma in the specification
CtxParentIterator
ExternDecl
externdecl_e in the specification
Func
functype_e in the specification
Instance
instancetype_e in the specification.
Name
Param
QualifiedInstance
This is an instance together with its existential variables. This concept doesn’t exist as a named syntax class in the specification, but is the payload of the instance case of deftype_e and the output of the instance declaration inference judgement.
RecordField
recordfield_e in the specification
Resource
resourcetype_e in the specification
ResourceId
Global resource identifier
TyvarOrigin
An (optional) path through the imports/exports of a current component/context. Not in the spec; only used for BoundedTyvar::origin below.
VariantCase
variantcase_e in the specification

Enums§

CoreDefined
core:deftype_e in the specification
CoreExternDesc
core:importdesc in the specification
CoreOrComponentExternDesc
Merely a convenience for Ctx::resolve_alias
Defined
deftype_e in the specification
ExternDesc
externdesc_e in the specification
FloatWidth
FreeTyvar
To make certain substitutions easier, free type variables are divided into Universal and Existential variables. Each is represented by a pair of indices: the first index is an index into Ctx::parents(), specifying parent context has the variable definition in it, and the second is an index into that context’s Ctx::uvars or Ctx::evars.
Handleable
In the spec, this does not exist, but a validation rule ensures an invariant that certain deftype_e s are of this form.
ImportExport
The name of an import or export of the current component/context. Not in the spec; only used for BoundedTyvar::origin below.
IntWidth
TypeBound
typebound_e in the specification
Tyvar
We explicitly distinguish between bound type variables, which are can only only present on types that are themselves inside a QualifiedInstance or Component, and free type variables that are used while constructing or deconstructing such a type in a Ctx.
Value
valtype_e in the specification

Type Aliases§

Result