While Loop

5 sections

100%
Overview

Implement while condition do body as sugar over loop { if !condition then break; body } per the approved proposal (compiler_repo/docs/ori_lang/proposals/approved/while-loop-proposal.md). Type void; break value=E0860, continue value=E0861; no while...yield; labels supported.

Delivered-state update (reconciliation): the mission's founding premise — "the parser rejects while c do { }, so the parser is incomplete" — is stale at HEAD. ori_parse dispatches the while tag to parse_while_expr (primary/mod.rs:134) and the construct compiles end-to-end since compiler_repo commit b9939de7d (2026-06-03), desugared at canon time (desugar_while, ori_canon/src/lower/expr.rs:317) with typeck LoopForm enforcing E0860/E0861. Remaining mission work is a verify-against-HEAD reconciliation walk, not fresh implementation.

Completed

5 sections