For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /packs/languages/rust/paradigm.md.
Quick start

Paradigm

Prefer a pure domain core with explicit resource capabilities at its edges.

Native functional design

Why

Rust already has value types and explicit ownership. Applying the functional policy should use those primitives rather than imitate a JavaScript object model.

Rules

  • MUST separate domain transformations from I/O, logging, clocks, and environment access. [review]
  • MUST supply dependencies through explicit parameters or resource-owning adapters. [review]
  • MUST prefer functions and value composition over application inheritance or mutable service state. [review]
  • MUST use structs and enums to express domain values and trait contracts to express capabilities. [review]
  • MUST prefer an iterator transformation when it makes the operation clearer. [review]
  • MUST keep mutable clients and handles confined to their adapter lifetimes. [review]
  • MUST use immutable bindings for domain data. [review]

[review]

The compiler checks types and ownership. Pure tests and review verify effect isolation and capability design.

Enforcement

The compiler checks types and ownership. Pure tests and review verify effect isolation and capability design.