9.0

3 Static Information Model🔗ℹ

Static information is implemented in Rhombus by a set of protocols layered on the syntax model. The protocols include

  • a key–value mapping associated with and expressions or binding, where expression information is communicated to enclosing forms and binding information is communicated to references;

  • macro-extensible binding forms, where the parsing protocol for bindings communicates static information about an input expression (such as the right-hande side of a def form) and static information about identfiers that are bound from those inputs (such as identifers on the left-hand side of a def form); and

  • annotations, which pair a run-time predicate or converter with static information in a way that can be plugged into both expression and binding forms.

    3.1 Role of Static Information

    3.2 Representing Static Information

    3.3 Propagating Static Information

    3.4 Annotation Low-Level Protocol

    3.5 Binding Low-Level Protocol