On this page:
Rhombus Prototype
8.12

Rhombus Prototype🔗ℹ

Rhombus is an experimental, general-purpose programming language with conventional expression syntax that is built on Racket and that is macro-extensible in the same way as Racket.

    1 Rhombus Essentials

      1.1 Notation

      1.2 Modules, Variables, and Functions

      1.3 Classes and Patterns

      1.4 Annotations and the Dot Operator

      1.5 Optional and Keyword Arguments

      1.6 Conditionals and Pattern-Matching Dispatch

      1.7 Operators

      1.8 Variables and Values

      1.9 Namespaces

    2 Collections and Iteration

      2.1 Lists

      2.2 Arrays

      2.3 Maps

      2.4 Sets

      2.5 Repetitions

      2.6 Iteration

      2.7 More Function Arguments

    3 Syntax Objects and Macros

      3.1 Syntax Objects

      3.2 Expression Macros

      3.3 Definition and Declaration Macros

      3.4 Binding and Annotation Macros

      3.5 Annotations versus Binding Patterns

      3.6 Syntax Patterns and Classes

    4 Classes and Interfaces

      4.1 Subclasses

      4.2 Interfaces

      4.3 Methods

      4.4 Fields and Properties

      4.5 Constructors

      4.6 Binding and Annotation

      4.7 Private Fields and Methods

      4.8 Private Implementation

      4.9 Class Namespaces

      4.10 Mutual Dependencies

    5 Static Information and Binding

      5.1 Representing Static Information

      5.2 Rules for Static Information

      5.3 Annotations and Static Information

      5.4 Binding Low-Level Protocol

      5.5 Annotations as Converters

    6 Core Reference

      6.1 General Forms

      6.2 Definitions

      6.3 Namespaces

      6.4 Import

      6.5 Export

      6.6 Functions

      6.7 Operators

      6.8 Classes and Interfaces

      6.9 Veneers

      6.10 Mutable Variables and Assignment

      6.11 Repetitions

      6.12 Block

      6.13 Conditionals

      6.14 Matching

      6.15 Iteration

      6.16 Recursion

      6.17 Context Parameters

      6.18 Exceptions

      6.19 Continuations

      6.20 Implicit Forms

      6.21 Static and Dynamic Lookup

      6.22 Modules and Submodules

      6.23 Booleans

      6.24 Numbers

      6.25 Characters

      6.26 Strings

      6.27 Keywords

      6.28 Symbols

      6.29 Byte Strings

      6.30 Lists

      6.31 Pairs and Pair Lists

      6.32 Arrays

      6.33 Maps

      6.34 Sets

      6.35 Boxes

      6.36 Indexables

      6.37 Listables

      6.38 Sequences

      6.39 Appendables

      6.40 Comparables

      6.41 Paths

      6.42 Source Locations

      6.43 Void

      6.44 Equality

      6.45 Dot

      6.46 Multiple Values

      6.47 Annotations

      6.48 Enumerations

      6.49 Input and Output

      6.50 Eval

      6.51 Syntax Objects

      6.52 Syntax Classes

      6.53 Simple Expression Macros

      6.54 Unit Testing

    7 Meta and Macros Reference

      7.1 Meta Definitions and Expressions

      7.2 Spaces

      7.3 Namespace Space

      7.4 Definition Macros

      7.5 Declaration Macros

      7.6 Expression Macros

      7.7 Assignment Macros

      7.8 Binding Macros

      7.9 Annotation Macros

      7.10 Static Information

      7.11 Dot Providers

      7.12 Repetition Macros

      7.13 Form-Specific Macros

        7.13.1 Import Macros

        7.13.2 Export Macros

        7.13.3 For Clause Macros

        7.13.4 Sequence Macros

        7.13.5 Reducer Macros

        7.13.6 Class and Interface Clause Macros

        7.13.7 Unquote Binding Macros

        7.13.8 Syntax Class Clause Macros

        7.13.9 Syntax Pattern Clause Macros

        7.13.10 Entry Point Macros

        7.13.11 Map Configurations

      7.14 Syntax Objects in Macros

      7.15 Syntax Parameters

    8 Rhombus Static by Default

    9 Libraries

      9.1 Runtime

      9.2 Measure

      9.3 Runtime Paths

      9.4 Random Number Generation

      9.5 Unsafe Mode

    10 Naming Conventions