Repository navigation
π docs: Drop the reassignment section the language never had - #167
Conversation
The spec described AssignStmt, but a binding cannot be rebound: writing x = 5 after nyan x = 1 is refused, and the reference already says bindings are immutable. Remove the section from the spec and its website copy. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Scc7p1RecmFoikhcXwnTMu
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
βΉοΈ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with π while any review is running, comments if it has suggestions, and reacts with π once all reviews finish with no findings. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. π βΉοΈ Recent review infoβοΈ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: π Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. π WalkthroughWalkthroughBoth specification documents now allow declarations without ChangesSpecification updates
Priority: β¬οΈ Low Estimated code review effort: 1 (Trivial) | ~5 minutes Change: Other Merge Risk: βͺ Minimal Β· up to The documentation updates match the existing declaration and binding behavior; no merge-blocking issue is evident. Architecture SummaryArchitecture risk: π΅ Low Β· up to The change affects 2 systems. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
π₯ Pre-merge checks | β 5β Passed checks (5 passed)
β¨ Finishing Touchesπ§ͺ Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit reads the syntax with care, Comment |
There was a problem hiding this comment.
π‘ Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bdec039ae0
βΉοΈ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with π.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
x = 42 for a fresh name is still an implicit declaration, so the spec's grammar has to derive it. Add it as a second VarStmt alternative, without a type annotation, and say that a bound name cannot be rebound. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Scc7p1RecmFoikhcXwnTMu
Overview
The language spec had a "Reassignment" section with
AssignStmt = identifier "=" Expr newline ., but Meow has no reassignment. A program that writesx = 5afternyan x = 1is refused with "Variable x already declared in this scope". The reference already says bindings are immutable.This PR removes that section from
docs/spec.mdand from its website copy,website/content/doc/spec.md.x = 42for a name that isn't bound yet is still valid: the parser reads it as an implicit declaration. That form moves into the Variable Declaration grammar as a secondVarStmtalternative:It takes no type annotation, because
x int = 1doesn't parse. The section also says that writingx = ...for a name already bound in the same or an enclosing scope is a compile error, not a reassignment. The two spec files are still identical apart from their front matter.Verification
go test ./docs/passes, includingTestTheWebsiteSaysWhatTheDocumentsSay, which checks that the spec and the website copy match.go test ./...passes.meow runon three programs:x = 42followed bynya(x)prints 42.x = 1followed byx = 2is refused.x int = 1fails to parse.#reassignment, andAssignStmtappears nowhere else in the docs.Impact
Documentation only. No code changes.
AI Session
https://claude.ai/code/session_01Scc7p1RecmFoikhcXwnTMu
Checklist
π€ Generated with Claude Code
https://claude.ai/code/session_01Scc7p1RecmFoikhcXwnTMu