OriLang Reference Catalog — Specification, Guide, Examples, Stdlib

Per-document links for the OriLang specification, learning guide, example programs, and standard library.

# OriLang Reference Catalog

> Per-document links for the OriLang specification, learning guide, example programs, and standard library. The self-contained writing kit (syntax reference + grammar + operator rules) is at https://ori-lang.com/llms.txt; everything inlined into one document is at https://ori-lang.com/llms-full.txt.

## Specification (authoritative)

- [Grammar (EBNF) — the syntax single source of truth](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/grammar.ebnf): every valid Ori construct, in EBNF
- [Operator rules](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/operator-rules.md): precedence, associativity, desugaring to trait methods
- [1 Scope](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/01-scope.md)
- [2 Normative references](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/02-normative-references.md)
- [3 Terms and definitions](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/03-terms-and-definitions.md)
- [4 Conformance](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/04-conformance.md)
- [5 Notation](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/05-notation.md)
- [6 Source Code Representation](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/06-source-code.md)
- [7 Lexical Elements](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/07-lexical-elements.md)
- [8 Types](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/08-types.md)
- [9 Properties of Types](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/09-properties-of-types.md)
- [10 Declarations](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/10-declarations.md)
- [11 Blocks and Scope](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/11-blocks-and-scope.md)
- [12 Constants](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/12-constants.md)
- [13 Variables](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/13-variables.md)
- [14 Expressions](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/14-expressions.md)
- [15 Patterns](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/15-patterns.md)
- [16 Control flow](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/16-control-flow.md)
- [17 Errors and panics](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/17-errors-and-panics.md)
- [18 Modules](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/18-modules.md)
- [19 Testing](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/19-testing.md)
- [20 Capabilities](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/20-capabilities.md)
- [21 Memory model](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/21-memory-model.md)
- [22 Concurrency model](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/22-concurrency-model.md)
- [23 Program execution](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/23-program-execution.md)
- [24 Constant expressions](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/24-constant-expressions.md)
- [25 Conditional compilation](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/25-conditional-compilation.md)
- [26 Foreign function interface](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/26-ffi.md)
- [27 Reflection](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/27-reflection.md)
- [Annex C (normative) — Built-in functions](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/annex-c-built-in-functions.md)
- [Annex D (informative) — Formatting](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/annex-d-formatting.md)
- [Annex E (informative) — System considerations](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/ori_lang/v2026/spec/annex-e-system-considerations.md)

## Guide (learning path)

- [Getting Started](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/01-getting-started.md)
- [Language Basics](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/02-language-basics.md)
- [Functions](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/03-functions.md)
- [Collections](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/04-collections.md)
- [Custom Types](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/05-custom-types.md)
- [Pattern Matching](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/06-pattern-matching.md)
- [Option and Result](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/07-option-result.md)
- [Error Propagation](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/08-error-propagation.md)
- [Panic and Recovery](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/09-panic-recovery.md)
- [Modules and Imports](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/10-modules-imports.md)
- [Constants](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/11-constants.md)
- [Testing](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/12-testing.md)
- [Capabilities](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/13-capabilities.md)
- [Concurrency](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/14-concurrency.md)
- [Channels](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/15-channels.md)
- [Traits](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/16-traits.md)
- [Iterators](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/17-iterators.md)
- [Extensions](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/18-extensions.md)
- [Compiler Patterns](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/19-compiler-patterns.md)
- [Memory Model](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/20-memory-model.md)
- [Formatting Rules](https://raw.githubusercontent.com/upstat-io/ori-lang/master/docs/guide/21-formatting.md)

## Code examples (real, passing conformance tests)

Each file is a complete Ori program from the compiler test suite — verified against the current compiler:

- [generic_impl.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/traits/generic_impl.ori): generic trait implementations (`impl<T: Bound> Type<T>: Trait`)
- [default_assoc_types.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/traits/default_assoc_types.ori): associated types with defaults
- [object_safety.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/traits/object_safety.ori): trait objects and object safety
- [declaration.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/capabilities/declaration.ori): declaring capability effects with `uses`
- [providing.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/capabilities/providing.ori): providing capabilities with `with Cap = impl in expr` (mocking)
- [async.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/capabilities/async.ori): capabilities + Suspend (async)
- [exhaustiveness.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/patterns/exhaustiveness.ori): match expressions and exhaustiveness
- [try.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/patterns/try.ori): `try` blocks and `?` error propagation
- [catch.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/patterns/catch.ori): `catch` for panic-to-Result conversion
- [recurse.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/patterns/recurse.ori): `recurse` structured-recursion pattern
- [const_generics.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/types/const_generics.ori): const generics (`@f<T, $N: int>`)
- [existential.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/types/existential.ori): existential types (`impl Trait` returns)
- [polymorphism.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/inference/polymorphism.ori): Hindley-Milner inference + polymorphism
- [operators_precedence.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/expressions/operators_precedence.ori): operator precedence in practice
- [map_cow.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/collections/cow/map_cow.ori): value-semantic collections (copy-on-write maps)
- [free_floating_test.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/tests/spec/free_floating_test.ori): first-class test declarations (`tests` syntax)
- [Full conformance suite](https://github.com/upstat-io/ori-lang/tree/master/tests/spec): hundreds more, organized by language area

## Standard library (idiomatic Ori source)

- [prelude.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/library/std/prelude.ori): the prelude: Option, Result, core traits, iterator machinery
- [testing.ori](https://raw.githubusercontent.com/upstat-io/ori-lang/master/library/std/testing.ori): assertion helpers (assert_eq, assert_panics, ...)
- [library/std](https://github.com/upstat-io/ori-lang/tree/master/library/std): the full standard library, written in pure Ori (collections, json, text, math, time, fs, net, crypto, ...)

## Project

- [GitHub repository](https://github.com/upstat-io/ori-lang): compiler source, issues, releases
- [Interactive playground](https://ori-lang.com/playground): run Ori in the browser (WASM)
- [Compiler roadmap](https://ori-lang.com/roadmap/): implementation status by language area
- [Install](https://ori-lang.com/install.sh): `curl -fsSL https://ori-lang.com/install.sh | sh`