Language status
Built from status.json. Last updated (2026-08-02T03:22:10Z). Graded as: typechecker + native codegen (interpreter.run_source deprecated, not graded).
- Milestone
- M9
- Version
- 0.1.0
- Commit
- c5914ce
- Features working
- 51 of 52 (51 works · 1 partial · 0 not started)
| Feature | State | Note |
|---|---|---|
| functions | works | simple.vow native exit 3 (1+2); compile+run OK |
| let/var | works | var_ok.vow exit 2; let_assign_err type error |
| assignment | works | var reassignment; let/params reject |
| if/else | works | Minimal native exit 7 |
| while | works | Sum 0..4 native exit 10 |
| for | works | C-style for var+i++; for-in collection; for-in range 0..n; grammar_loops.vow exit 39 |
| compound assignment | works | +=/-=/*=/= in phase4_syntax.vow |
| lambda expressions | works | (x: int) -> x * 3 in closure_map.vow |
| parens around conditions | works | if/while/for/match/switch reject if (cond); expr grouping OK (parens.vow exit 27) |
| arithmetic | works | Native ops; parens.vow exit 27 |
| comparisons | works | Relational ops in arithmetic programs |
| booleans | works | and/or/not short-circuit (test_logic.py) |
| integers | works | int ops; int64+as on native |
| floats | works | f32/f64 + casts; phase2_collections.vow |
| strings | works | Concat/len/index native |
| string ops | works | str_trim/replace/split/join in phase2_collections.vow |
| Phase 1 stdlib | works | phase1_stdlib.vow exit 0 with --grant clock:; docs/stdlib/README.md |
| arrays | works | Index + .len() native |
| array mutation | works | array_push + index assign in phase2_collections.vow |
| maps | works | Map<String,V> via map_new/map_get/map_set; string keys v1 |
| struct mutation | works | Field assign p.x = 5 in phase2_collections.vow |
| structs/class | works | self-methods exit 9; class≡struct; builtin shadow → decl error (test_method_shadow.py) |
| enums | works | shape.vow exit 24; constructors Shape::Circle(n) |
| match + exhaustiveness | works | Patterns use Circle(r) not Shape::Circle(r); exhaustive OK |
| generics | works | option.vow exit 49; monomorphization |
| Option/Result | works | Prelude via option.vow |
| modules/imports | works | mod_main.vow exit 42 |
| interfaces | works | interface_basic.vow 12; dyn_shapes.vow prints 21 (exit 0) |
| print/stdout | partial | PARTIAL by design — ambient print/eprint (no Caps); see docs/limitations.md |
| no-implicit-conversion | works | int64+int type error |
| unused-Result error | works | ignored_result.vow type error |
| capabilities (needs/with/--grant) | works | caps_poc exits 3/2 with fixture; cap_hardening FIX1-4 PASS |
| Phase 3 caps (attenuation/audit) | works | phase3_caps.vow; scoped_to narrows (denies /etc/passwd); --audit-log |
| Phase 3 grants manifest | works | vow.grants.toml via grants_manifest.py |
| Phase 3 budgets | works | --budget cpu-ms:N; needs budget(cpu) |
| Phase 3 profile | works | vow profile file.vow --samples N |
| Phase 3 async | works | phase3_async.vow; async fn + await (blocking MVP desugar) |
| Phase 3 inspect | works | vow inspect <binary> --json |
| Db / Log / Rand caps | works | phase2_caps.vow + cap_hardening test_db_log.sh + test_rand.sh |
| contracts (requires/ensures) | works | withdraw.vow exit 70; withdraw_bad native trap |
| arena memory + escape analysis | works | arena_local.vow exit 9; region { }; vow explain LOCAL |
| machine-readable JSON errors | works | vow check --json |
| vow explain | works | vow explain arena_local.vow exit 0 |
| type aliases | works | type Score = int in closure_map.vow |
| function values + lambdas | works | fn refs + lambdas in closure_map.vow |
| array_map / array_filter | works | closure_map.vow stdout [2,4,6,8] etc. |
| syntax polish | works | function alias, +=, optional ; — phase4_syntax.vow |
| tooling (fmt/LSP/install/new) | works | vow fmt/lsp/new/init; install.sh; test_project_new.py |
| concurrency model | works | threads_sum.vow with --grant threads (test_threads.py) |
| process spawn/wait (Proc) | works | process_echo.vow with --grant proc: (test_process.py) |
| file_mtime | works | test_file_mtime.py |
| HTTP framework (vow-web-server) | works | frameworks/vow-web-server/tests/ (separate tree) |
| method chaining | works | method_chain.vow (test_method_chain.py) |
| function overloading | works | overload.vow (test_overload.py) |
| class inheritance | works | inheritance.vow (test_inheritance.py) |
| constructors (new Type) | works | ergonomics.vow (test_ergonomics.py) |
| switch / case | works | Desugars to match; ergonomics.vow |
| try / catch (Result) | works | ergonomics.vow |
| parenthesized expressions | works | Grouping OK; condition parens rejected |
| rand_next / clock_now | works | phase5_time.vow (test_phase5.py) |