able

Able Language Workspace

Able is an experimental programming language. The repository now carries two versioned workspaces, but only the v11 branch accepts day-to-day changes:

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

Project Highlights

Repository Layout

How We Work

  1. Start with spec/full_spec_v11.md. Update wording (and the AST contract) before or alongside code. Reference spec/full_spec_v10.md only to clarify historical behaviour.
  2. Keep the AST structure identical across interpreters. The Go runtime is canonical; the TypeScript runtime mirrors it. Document and resolve mismatches immediately.
  3. Mirror tests/fixtures across the v11 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 v11/; the v10/ copies are archival.

Getting Started

Combined test suites:

# Run TypeScript + Go tests and shared fixtures (default = v11)
./run_all_tests.sh

# Target the legacy toolchain only when directed
./run_all_tests.sh --version=v10 --typecheck-fixtures=strict

# Run the full v11 suite with custom flags
./run_all_tests.sh --version=v11 --typecheck-fixtures=warn

See v11/docs/parity-reporting.md (or the archived v10/docs/ copy) for details on directing the parity JSON report into CI artifacts (ABLE_PARITY_REPORT_DEST, CI_ARTIFACTS_DIR) and consuming the machine-readable diffs.

Contributing

Questions?

Start with AGENTS.md, then dive into v11/README.md, v11/AGENTS.md, or specific v11/design/ notes. Reference the archived v10/ docs only when you need historical context. Capture new design decisions in the relevant v11/design/ tree so future contributors have context.

Notes

Standard onboarding prompt (v11-only):

Read AGENTS, PLAN, and the v11 spec, then start on the highest priority PLAN work. Proceed with next steps. We need to correct any bugs if bugs or broken tests are outstanding. We want to work toward completing the items in the PLAN file. Please mark off and remove completed items from the PLAN file once they are complete. Remember to keep files under one thousand lines and to refactor them if they are going to exceed one thousand lines. You have permission to run tests. Tests should run quickly; no test should take more than one minute to complete.

Standard next steps prompt:

Proceed with next steps as suggested; don't talk about doing it - do it. We need to correct any bugs if bugs or broken tests are outstanding. We want to work toward completing the items in the PLAN file. Please mark off and remove completed items from the PLAN file once they are complete. Remember to keep files under one thousand lines and to refactor them if they are going to exceed one thousand lines. Tests should run quickly; no test should take more than one minute to complete.