Files
hakorune/docs/private/roadmap/phases/phase-20.18/TASKS.md

43 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Phase 20.18 — Tasks & Checklist
P0 — Null/Void 固定(言語+VM+Core+Docs
- [ ] Parser: `null`/`void` を予約語として受理AST: NullLiteral/VoidLiteral
- [ ] MIR: ConstValue に Null/Void を追加emit/reader/verifier/print
- [ ] VM: VMValue::Null 追加、`to_bool_vm/eq_vm/to_string_vm` に Null を追加
- [ ] Singleton: NullBox/VoidBox の Lazy static 化to_nyash_box で変換)
- [ ] Core: Array/Map の SSOT へ収束get/pop→Null、set/clear/push→Void、delete→値 or Null、set 不正→Fail
- [ ] Smokes: null/void identity/boolean、array/mapget/pop/delete/invalid set
- [ ] Docs: vm-core / gate-c-core-routing / INDEX / phase-20.18 README を更新
Core/API
- [ ] Array.try_get/1ok=value, err=E_OOB
- [ ] Array.try_pop/0ok=value, err=E_EMPTY
- [ ] Map.try_get/1ok=value, err=E_NOT_FOUND
- [ ] String.to_i64/0ok=i64, err=E_PARSE
- [ ] String.to_f64/0ok=f64, err=E_PARSE
Parser/Lowering
- [ ] `let a?=/a!=` の受理
- [ ] `if let ok(v) = …` の受理
- [ ] Lowering: `?` → select, `!` → branch+trap, iflet → branchallocなし
Verifier/Diagnostics
- [ ] 例外タグE_OOB/E_EMPTY/E_NOT_FOUND/E_PARSEの固定
- [ ] `HAKO_TRY_API=1` gate での動作保証
Plugins段階更新
- [ ] MapBox: get 欠落→Null、delete→値 or Null、clear→Void、set→Void不正→E_INVALID_*
- [ ] ArrayBox: get/pop 欠落→Null、push/set/clear→Void、set OOB→E_OOB
- [ ] HostHandleRouter: Core 先行経路の優先(未更新プラグインの影響を遮断)
Smokesquick, optin
- [ ] try_get: ok/err + `a?`/`a!`/if-let ok
- [ ] try_pop: ok/err + `a?`/`a!`
- [ ] map.try_get: ok/err + 糖衣
- [ ] string.to_i64/to_f64: ok/errstdout/rc/タグ)
Docs
- [ ] result-semantics.mdcase-by-case
- [ ] optional-semantics.md に 20.18 方針リンク追記
- [ ] guides/testing-guide.md に観測方法stdout/rc/タグ)補足