# 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 Type: 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`) - [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`