Next: , Previous: , Up: expander lexenv prim   [Index]


15.3.4.9 Primitive Syntactic bindings: core record–type names

A syntactic binding representing R6RS’s record–type name defined by the boot image has descriptor with format:

($core-record-type-name
  . #(?type-name ?uid
      ?rtd-name ?rcd-name
      ?parent-name
      ?constructor-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.

?rtd-name

A symbol representing the public name of the syntactic identifier to which the record–type descriptor is bound.

?rcd-name

A symbol representing the public name of the syntactic identifier to which the default record–constructor descriptor is bound.

?parent-name

#f or a symbol representing the public name of the syntactic identifier bound to the parent’s record-type.

?constructor-name

A symbol representing the public name of the syntactic identifier to which the default constructor is bound.

?type-predicate-name

A symbol representing the public name of the syntactic identifier to which the type predicate is bound.

?equality-predicate

A symbol representing the public name of the syntactic identifier to which the equality predicate is bound.

?comparison-procedure

A symbol representing the public name of the syntactic identifier to which the comparison procedure is bound.

?hash-function

A symbol representing the public name of the syntactic identifier to which the hash function is bound.

?methods-avector

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


Next: , Previous: , Up: expander lexenv prim   [Index]