docs(repl): Update Phase 288 P3 completion status

Updated implementation status to reflect actual working features:
-  print() output displays
-  .reset command works
-  Implicit local binding compiles
-  Variable persistence (deferred to Phase 288.1+)

Known limitations documented:
- Variable access across lines not yet working
- _ variable stored but not accessible yet
- Expression auto-display deferred

Accurate current behavior examples added.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-25 13:48:39 +09:00
parent 79608bce64
commit 38968efa3c

View File

@ -287,45 +287,57 @@ Recommended file-mode errors:
## 9) Phase 288 MVP Implementation Status
### Completed (Phase 288 P0-P3)
### Completed (Phase 288 P0-P3) - 2025-12-25
**CLI Entry** (`--repl` / `-i` flags)
**REPL Loop** (`.help`, `.exit`, `.reset` commands)
**ReplSessionBox** (VMValue-based session state)
**Implicit Local Binding** (`x = 1` creates session variable)
**print() Output** (ExternCall output displays)
**`_` Variable** (last value stored)
**Session Persistence** (VMValue persists across lines)
**Fail-Fast** (undefined reads error immediately)
**Implicit Local Binding** (`x = 1` compiles without error)
**print() Output** (ExternCall output displays correctly)
**`_` Variable** (last value stored in session)
**Session Reset** (`.reset` command clears state)
**Main Box Entry Point** (VM execution fixed)
### Deferred to Phase 288.1
### Deferred to Phase 288.1+
**Variable Persistence** (session variables accessible across lines)
**Expression Auto-Display** (`1+1``2` automatic output)
**Complex Expression Detection** (distinguish expression vs statement)
**REPL Variable Injection** (session variables accessible in compilation)
**REPL Variable Injection** (session → compilation context bridge)
### Current Behavior (Phase 288 MVP)
### Current Behavior (Phase 288 P3 MVP)
```nyash
>>> .help
Commands:
.exit / .quit - Exit REPL
.reset - Clear session
.help - Show this help
>>> x = 42
>>> # Silent (no auto-display)
>>> # Silent (implicit local creation)
>>> print(x)
42 # print() output only
>>> print("Hello REPL!")
Hello REPL! # print() output displays
>>> print(_)
42 # _ holds last value
>>> print(42 + 1)
43 # Arithmetic works
>>> 1 + 1
>>> # Silent (expression detection in Phase 288.1)
>>> # Silent (expression auto-display in Phase 288.1)
>>> .reset
Session reset
>>> print(x)
Error: Undefined variable 'x'
>>> print("After reset")
After reset # REPL continues after reset
```
**Known Limitations** (Phase 288 MVP):
- Variable persistence not yet implemented (`x = 1` then `print(x)` errors)
- `_` variable stored but not accessible in user code yet
- No expression auto-display (deferred to Phase 288.1)
**Design Philosophy**: Follow 80/20 rule - deliver working REPL first, polish UX later.
---