Principles¶
Arbor combines explicit boundaries with defaults that help prevent accidental mistakes. These principles explain the choices throughout the language.
Design documentation
This chapter describes the language design. Examples are illustrative; implementation availability and unresolved rules are explained in Design status.
- Language: Arbor.
- Source extension:
.arb. - Unified command:
arbor. - Project manifest:
manifest.yaml. - Visual identity: a luminous tree whose roots become circuit traces.
Guiding principle:
We trust programmers to make deliberate choices. We design defaults for tired programmers making accidental ones.
Arbor is compiled, performance-oriented, readable, and straightforward to parse. It includes a substantial standard library, formatter, testing framework, package tooling, and editor support. It should be productive for humans and AI-assisted development through predictable syntax, precise diagnostics, and inspectable contracts.
Explicit decisions remain possible: raw pointers, intentional departures from substitutability, mutation, and mixed tool versions all have a place. Important boundaries should be visible in code or configuration.