Skip to content

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.