1.
Overview
2.
Philosophy
2.1.
Design Decisions
2.2.
Why WebAssembly?
2.3.
Why use Onyx?
2.4.
Memory Management
2.5.
Literals
2.6.
Declarations
2.7.
Blocks
2.8.
Bindings
3.
Program Structure
3.1.
Loading Files
3.2.
Packages
3.3.
Use declarations
4.
Operators
4.1.
Math operators
4.2.
Comparison operators
4.3.
Boolean operators
4.4.
Pointer operators
4.5.
Bitwise operators
4.6.
Try/Coalesce operators
4.7.
Cast operators
4.8.
Procedure calls
4.9.
If/else operator
4.10.
Range operator
4.11.
Pipe operator
4.12.
Method call operator
4.13.
Precedence
5.
Control Flow
5.1.
If
5.2.
While loops
5.3.
Switch
5.4.
Defer
5.5.
For loops
5.6.
Branching
5.7.
Do Blocks
5.8.
Used Locals
6.
Procedures
6.1.
Parameters
6.2.
Return values
6.3.
Automatic-return type
6.4.
Calling procedures
6.5.
Variadic procedures
6.6.
Polymorphic procedures
6.7.
Quick procedures
6.8.
Closures
6.9.
Overloaded procedures
6.10.
Interfaces and where
6.11.
Operator overloading
6.12.
Macros
7.
Types
7.1.
Primitives
7.2.
Pointers
7.3.
Fixed-size Arrays
7.4.
Slices
7.5.
Dynamic Arrays
7.6.
Structures
7.7.
Enumerations
7.8.
Tagged Unions
7.9.
Distinct
7.10.
Procedure types
7.11.
Optional
8.
Directives
8.1.
#inject
8.2.
#if
8.3.
#tag
8.4.
#export
8.5.
#foreign
8.6.
#file_contents
8.7.
#defined
8.8.
#persist
8.9.
#thread_local
8.10.
#doc
8.11.
#deprecated
8.12.
#init
8.13.
#error
8.14.
#this_package
8.15.
#wasm_section
9.
Miscellaneous
9.1.
Format Strings
9.2.
Reflection
9.3.
JS Interop
Light
Rust
Coal
Navy
Ayu
Onyx Documentation
Types