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.