Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,5 @@ jobs:
run: cargo fmt --all -- --check
- name: Check compilation
run: cargo check --all-targets
- name: Run tests
run: cargo test
5 changes: 2 additions & 3 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,12 @@ Snapshot: 2026-07-28.

- `cargo fmt --all -- --check` passes and is enforced for pull requests.
- `cargo check --all-targets` passes.
- All 47 integration specifications in `tests/language_specs.rs` pass.
- `cargo test` passes and is enforced for pull requests, including all 47 integration specifications and the library doctest.
- The crate exposes checked file/source execution APIs and typed I/O, parse, and runtime error categories.
- Lexer, parser, interpreter, type-inference, examples, mdBook documentation, and cargo-dist release assets exist.

### Quality gaps

- `cargo test` fails because the library doctest uses invalid syntax and nonexistent `Value::Integer`.
- Strict Clippy reports 36 errors across the interpreter, lexer, parser, type inference, and symbol table.
- Panic recovery wraps rather than removes many panic, `unwrap`, and `expect` paths; the interpreter alone contains roughly 90.
- `parser.rs` and `interpreter.rs` are approximately 975 and 1,217 lines and mix several responsibilities.
Expand Down Expand Up @@ -71,7 +70,7 @@ Snapshot: 2026-07-28.
## Phase 1 — Clean Legacy Baselines

- [x] Open and complete an issue that applies rustfmt, adds `cargo fmt --all -- --check` to CI, and changes no behavior.
- [ ] Fix the library doctest against the v0.1 API, make `cargo test` green, and require it in CI.
- [x] Fix the library doctest against the v0.1 API, make `cargo test` green, and require it in CI.
- [ ] Resolve strict Clippy findings without suppressing project-wide lints, then require `-D warnings` in CI.
- [ ] Separate generated mdBook output from sources and define one reproducible documentation build command.
- [ ] Reconcile README commands, branch names, CI claims, supported features, and examples with executable behavior.
Expand Down
4 changes: 2 additions & 2 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
//! ```rust
//! use poo::{run_source_checked, interpreter::Value};
//!
//! let source = "poo x << 10; return x;".to_string();
//! let source = "poo x <: 10; return x;".to_string();
//! let result = run_source_checked(source).unwrap();
//! assert_eq!(result, Some(Value::Integer(10)));
//! assert_eq!(result, Some(Value::Int(10)));
//! ```

pub mod ast;
Expand Down
Loading