able

Able Language Workspace

Able is an experimental programming language. The repository now carries multiple versioned workspaces, but only the v12 tree accepts day-to-day changes:

Shared coordination docs (README.md, PLAN.md, AGENTS.md) live at the repo root so contributors can quickly see the roadmap and the “v12-only” expectation.

Project Highlights

Repository Layout

How We Work

  1. Start with spec/full_spec_v12.md. Update wording (and the AST contract) before or alongside code.
  2. Keep AST structure identical across the v12 interpreters. Divergences are bugs.
  3. Mirror tests/fixtures across the v12 interpreters so behaviour stays consistent.
  4. Use the root PLAN.md for roadmap updates and AGENTS.md for onboarding guidance. Version-specific notes live under v12/.

Getting Started

Combined test suites:

# Run the v12 Go test suite + fixtures (default = v12)
./run_all_tests.sh

# Target legacy toolchains only when directed
./run_all_tests.sh --version=v10
./run_all_tests.sh --version=v11

Contributing

Questions?

Start with AGENTS.md, then dive into v12/README.md, v12/AGENTS.md, or specific v12/design/ notes. Reference the archived v10/ and v11/ docs only when you need historical context.