Previous: , Up: expander lexenv prim   [Index]


15.3.4.14 Core label-type names

A syntactic binding representing a label–type name defined by the boot image has descriptor with format:

($core-label-type-name
  . #(?type-name ?uid
      ?parent-annotation
      ?constructor-name ?destructor-name ?type-predicate-name
      ?equality-predicate ?comparison-procedure ?hash-function
      ?methods-avector))

where the values are:

?type-name

A symbol representing the public name of the type.

?uid

A symbol representing a unique identifier for the type.

?parent-annotation

A symbolic expression representing the parent’s type annotation.

?constructor-name

#f or a symbol representing the public name of the syntactic identifier to which the constructor is bound.

?destructor-name

#f or a symbol representing the public name of the syntactic identifier to which the destructor is bound.

?type-predicate-name

#f or a symbol representing the public name of the syntactic identifier to which the type predicate is bound.

?equality-predicate

#f or a symbol representing the public name of the syntactic identifier to which the equality predicate is bound.

?comparison-procedure

#f or a symbol representing the public name of the syntactic identifier to which the comparison procedure is bound.

?hash-function

#f or a symbol representing the public name of the syntactic identifier to which the hash function is bound.

?methods-avector

An association vector: as keys symbols representing method names; as values symbols representing the public name of the syntactic identifier to which the method procedure is bound.