docs: update Phase 257-259 SSOT (first FAIL is is_integer)
This commit is contained in:
29
docs/development/current/main/phases/phase-259/README.md
Normal file
29
docs/development/current/main/phases/phase-259/README.md
Normal file
@ -0,0 +1,29 @@
|
||||
Status: Active
|
||||
Scope: `StringUtils.is_integer/1`(nested-if + loop)を JoinIR で受理して `--profile quick` を進める。
|
||||
Related:
|
||||
- Now: `docs/development/current/main/10-Now.md`
|
||||
- Phase 258: `docs/development/current/main/phases/phase-258/README.md`
|
||||
- Design goal: `docs/development/current/main/design/join-explicit-cfg-construction.md`
|
||||
|
||||
# Phase 259: `StringUtils.is_integer/1` (nested-if + loop)
|
||||
|
||||
## Current Status (SSOT)
|
||||
|
||||
- Current first FAIL: `json_lint_vm / StringUtils.is_integer/1`
|
||||
- Shape summary(ログ由来):
|
||||
- prelude: nested-if to compute `start` (handles leading `"-"`)
|
||||
- loop: `loop(i < s.length()) { if not this.is_digit(s.substring(i, i+1)) { return false } i = i + 1 }`
|
||||
- post: `return true`
|
||||
- caps: `If,Loop,NestedIf,Return`
|
||||
|
||||
## Goal
|
||||
|
||||
- `StringUtils.is_integer/1` を JoinIR で受理し、quick の first FAIL を次へ進める
|
||||
|
||||
## Proposed Approach (P0)
|
||||
|
||||
方針: prelude(nested-if)は既存 lowering のまま、loop 部分だけを scan パターンへ寄せる(構造で解決)。
|
||||
|
||||
P0 の狙い:
|
||||
- loop の core は “scan until mismatch” で、Pattern6(scan)と近い
|
||||
- ただし return 値が `i/-1` ではなく `true/false` なので、scan パターンの “return payload” を一般化する必要がある可能性がある
|
||||
Reference in New Issue
Block a user