Modules and composition
Supply a scoped counter and call a doubling function that rejects negative inputs.
Start with the project overview, then open an operation’s sequence or explanation. Source stays beside its spec when you need to inspect an expression. Choose Indentation or Braces for that code view; the choice carries across files.
Follow the program
Read the explanation of main.aug. Follow the domain imports, provider choices, explicit scope, and checked failure before opening the implementation files.
Read the explanation of domain/export.aug. The export file chooses the declarations callers can import.
Read the explanation of domain/numbers.aug. The validation interceptor rejects a negative input. Tests cover successful doubling and recovery from that failure.
Explore the generated project diagrams to follow data between folders, then open module interactions and API sequences.
Project files
Try this project
Download this project, then extract the archive in an empty working folder. It contains source, configuration, and compiled specs. Install August once, then run these commands. Native libraries are prepared automatically when needed:
cd approved-design
aug check .
aug spec .
aug test .
aug run .