- Table of Contents
- 1 Introduction
- Overview
- Design Philosophy
- Implementation Status
- 2 Lexical Structure
- Overview
- Whitespace and Line Breaks
- Comments
- Literals
- Integer Literals
- Floating-Point Literals
- String Literals
- Character Literals
- Boolean Literals
- Identifiers
- 3 Grammar
- 4 Definitions
- Overview
- Definitions
- Structure Definitions
- Union Definitions
- 5 Expressions
- Overview
- Literals
- Boolean Literals
- Integer Literals
- Hexadecimal Literals
- Floating-Point Literals
- String Literals
- Character Literals
- Operations
- Prefix Functions
- Operator Chains
- Parentheses and Grouping
- Identifier Shapes
- Let Bindings
- If Expressions
- Match Expressions
- Choose Expressions
- Basic Choose
- Choose with Result
- Choose Else Branch
- A. Standard Library Reference
- Types
- define Sum(left: int, right: int)
- define Difference(left: int, right: int)
- define Product(left: int, right: int)
- define Quotient(left: int, right: int)
- Operators
- operator +(left: int, right: int) returns Sum
- operator -(left: int, right: int) returns Difference
- operator *(left: int, right: int) returns Product
- operator /(left: int, right: int) returns Quotient
- operator div(left: int, right: int) returns int
- operator mod(left: int, right: int) returns int
- operator =(left: int, right: int) returns bool
- operator <>(left: int, right: int) returns bool
- operator <(left: int, right: int) returns bool
- operator >(left: int, right: int) returns bool
- operator <=(left: int, right: int) returns bool
- operator >=(left: int, right: int) returns bool
- Functions
- function -(right: int) returns int
- function +(right: int) returns int
- function abs(x: int) returns int