On this page:
Rhombus Language Model
0.45+9.0

Rhombus Language Model🔗ℹ

This document defines evaluation and syntax concepts of the Rhombus language.

    1 Evaluation Model

      1.1 Expression Evaluation

        1.1.1 Subexpression Evaluation and Continuations

        1.1.2 Tail Position

        1.1.3 Multiple Return Values

        1.1.4 Top-Level Variables

        1.1.5 Objects and Imperative Update

        1.1.6 Garbage Collection

        1.1.7 Function Calls and Local Variables

        1.1.8 Variables and Locations

      1.2 Modules and Module-Level Variables

        1.2.1 Phases

        1.2.2 Module Redeclarations

        1.2.3 Submodules

      1.3 Module Registry

      1.4 Control Model

        1.4.1 Continuation Frames and Marks

        1.4.2 Prompts, Delimited Continuations, and Barriers

        1.4.3 Threads

        1.4.4 Context Parameters

        1.4.5 Exceptions

        1.4.6 Custodians

    2 Syntax Model

      2.1 Identifiers, Binding, and Scopes

        2.1.1 Binding Spaces

        2.1.2 Binding Phases

      2.2 Syntax Objects

      2.3 Parsing via Enforestation and Expansion

        2.3.1 Enforest Steps

        2.3.2 Expand Steps

      2.4 Expansion Binding

        2.4.1 Transformer Bindings

        2.4.2 Local Binding Context

        2.4.3 Partial Expansion

        2.4.4 Internal Definitions

        2.4.5 Module Expansion, Phases, and Visits

        2.4.6 Macro-Introduced Bindings in the Top Level

      2.5 Evaluators

      2.6 Compilation

    3 Static Information Model

      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