Next: expander lexenv prim integrated, Previous: expander lexenv prim inspect, Up: expander lexenv prim [Index]
If we know the public name of a primitive syntactic binding
(display
, lambda
, let
, &condition
,
…) we can retrieve the binding’s label using system-label
(see expander system-labels) and given the label we can retrieve the
binding descriptor using symbol-value
(see iklib symbols value). Examples:
(symbol-value (system-label 'display)) ⇒ (core-prim . display) (symbol-value (system-label 'lambda)) ⇒ (core-macro . lambda) (symbol-value (system-label 'let)) ⇒ (core-macro . let) (symbol-value (system-label '&condition)) ⇒ (core-object-type-name . ---) (symbol-value (system-label '__who__)) ⇒ ($fluid . fluid-label.__who__)
For core primitive functions, record–type descriptors and record–constructor descriptors:
Core primitive syntaxes and non–core primitive syntaxes have implementation integrated in the expander: