Skip to content

build: ziz0 compiles with Chapel 2.10; wire just test; ascii-check can fail - #13

Merged
hyperpolymath merged 1 commit into
mainfrom
feat/ziz0-builds
Oct 6, 2026
Merged

hyperpolymath merged 1 commit into
mainfrom
feat/ziz0-builds

Conversation

@hyperpolymath

Copy link
Copy Markdown
Contributor

Follow-up to #12. bootstrap/ziz0.chpl had never been through a compiler; it now builds with Chapel 2.10.0 and runs.

ziz0 fixes (mechanical, no restructuring — per HANDOFF.adoc)

  • identifiers that are Chapel keywords: out→buf, by→agent, index→keyIndex; for _ in → named loop var
  • x.car!/cdr!/body! yield a borrowed Value; added carV/cdrV/bodyV shared accessors, try! x: V for the other two unwraps
  • map inserts via add/addOrReplace (indexing a missing key throws in 2.x)
  • concrete enum P (Add = 0) so prim ids cast; in intent on mkEnv

Verified

Example Output
fact.ziz 3628800, (sym:fact :arity 1) ; asserted=1 observed=11
lambda.ziz (var y) (var z) (var q) — λ-calculus + Y smoke test
quote-eval.ziz (+ 1 2 3) + 6 15
reflexive.ziz, hello.ziz 84, hello, ziz
lib/dialectic.ziz defmacro expands; (sublate 40 2) → 42 after set-resolver!; :expanded-by edges recorded

layout.ziz is not run: the off-side reader is milestone 1 by design.

Justfile

  • build checks chpl is 2.10 (chapel_version) and fails with install guidance otherwise
  • examples-check asserts the expected lines above
  • test = grammar + examples-check + ascii-check (replaces the template's always-fail stub)
  • ascii-check rewritten: a small lexer over .ziz files, fails on non-ASCII outside "strings" and ; comments. The old recipe ended in || true and could never fail.

Planted-fault controls, each confirmed to fail: λ as an identifier → ascii-check rc=1 (non-ASCII inside a string/comment passes); wrong expected value → examples-check rc=1; fake chpl 2.9.1 → build rc=1. just test → rc=0.

Docs: README status + tour corrected to the real JEG dump (25 judgements / 206 edges, not "6 / 23"); README §Building; TRIAGE/HANDOFF status.

Not in this PR

  • CI does not build ziz0 yet (no Chapel in the runners); just test is local-only for now.
  • A2ML → .deed: blocked, see the session report — the translator fails closed because ziz's descriptiles still carry the template identity.

🤖 Generated with Claude Code

…n fail

ziz0.chpl had never been through a compiler. Mechanical fixes only:
- identifiers that are Chapel keywords: out -> buf, by -> agent,
  index -> keyIndex; `for _ in` -> named loop var
- x.car!/cdr!/body! yield a borrowed Value; add carV/cdrV/bodyV shared
  accessors; `try! x: V` for the two remaining unwraps
- map inserts via add/addOrReplace (indexing a missing key throws)
- concrete `enum P` (Add = 0) so prim ids cast; `in` intent on mkEnv

All examples except layout.ziz (sexp reader only, by design) print what
HANDOFF.adoc expects: 3628800, (sym:fact :arity 1) asserted=1 observed=11,
(var y) (var z) (var q). lib/dialectic.ziz's defmacro expands.

Justfile: build checks chpl is 2.10; new examples-check asserts the
expected lines; test = grammar + examples-check + ascii-check (replacing
the template's always-fail stub); ascii-check rewritten as a real lexer
over .ziz files that fails on non-ASCII outside strings/comments (the old
recipe always exited 0). Each check shown to fail on a planted fault.
README tour corrected to the real JEG dump (25 judgements, 206 edges).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 784d1166-4e56-4648-8a69-95d2d5086bb5
📥 Commits

Reviewing files that changed from the base of the PR and between 743324d and c7f45dd.

📒 Files selected for processing (6)
  • .gitignore
  • HANDOFF.adoc
  • Justfile
  • README.adoc
  • TRIAGE.adoc
  • bootstrap/ziz0.chpl
 _______________________________________
< CI/CD: Carrots In / Defects Canceled. >
 ---------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hyperpolymath
hyperpolymath enabled auto-merge (squash) October 6, 2026 08:42
@hyperpolymath
hyperpolymath merged commit f450b68 into main Oct 6, 2026
58 of 66 checks passed
@hyperpolymath
hyperpolymath deleted the feat/ziz0-builds branch October 6, 2026 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant