Building and Running
The compiler is invoked through just recipes. The ones you'll actually
use, day to day:
Run a Program
just run path/to/file.ow
Compiles the file to a native binary placed next to the source, runs it, prints the output, and removes the binary afterward.
Run an Example by Name
just example hello # runs examples/hello.ow
just example multifile # runs examples/multifile/main.ow
Run Every Example
just examples
Compiles and runs every file in examples/, reporting which passed,
failed, or were skipped (skipped means the example does not yet compile).
Inspect the Generated Rust
just emit path/to/file.ow
Prints the Rust source that the transpiler produces. This is the best way to build a mental model of how Oneway constructs map to Rust.
Show Tokens or AST
just tokens path/to/file.ow
just ast path/to/file.ow
Both are diagnostic — useful when you want to know exactly how the lexer/parser sees your code.
Check Sort Order
just check path/to/file.ow
Validates only the sort-order rules (alphabetical ordering of declarations, match arms, imports, etc.) without doing the rest of compilation.
Tests and Linting
just test # cargo test the compiler
just fmt # cargo fmt the compiler source
just clippy # cargo clippy the compiler source
just clean # remove build artifacts and compiled examples
Workflow
There is no oneway new or project scaffolder. Single-file programs are
first class — drop a .ow file anywhere and just run it. For multi-file
projects, see Modules.