Repository navigation
feat: import Žiz design drop (DESIGN, TRIAGE, JEG, grammar, ziz0 bootstrap) - #12
Merged
Merged
Conversation
…strap) Moves the ziz-drop material from metadatastician/standards#1048 to the repo root. The PR branch was deleted after merge, so the 17 files at its head (e56b8bf) were reconciled against the owner's newer local copy, which adds HANDOFF.adoc, lib/dialectic.ziz, examples/lambda.ziz, docs/jeg-schema.a2ml, defmacro + pair?/sym?/str? + self-evaluating keywords in ziz0.chpl, and the 2026-09-24 owner decisions in DESIGN/TRIAGE/README. Grammar verified with tree-sitter 0.26.11 (generate OK, 7/7 corpus tests, all examples parse clean). Three bugs fixed on the way: - parser looped forever at EOF (zero-width _newline accepted by source_file) - a newline after a comment-only line was unlexable (\n not an extra) - DEDENTs owed after a mid-file NEWLINE were lost; bracket counting drifted New corpus file layout-regressions.txt pins them (2/7 fail on the old scanner). ziz0.chpl has NOT been compiled: no Chapel compiler was available. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (22)
✨ Finishing Touches📝 Generate docstrings
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. Comment |
hyperpolymath
enabled auto-merge (squash)
October 6, 2026 08:16
hyperpolymath
added a commit
that referenced
this pull request
Oct 6, 2026
…n fail (#13) 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](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves the Žiz design material (
ziz-drop/from metadatastician/standards#1048) into this repo's root, asHANDOFF.adocinstructs.Source reconciliation
The #1048 branch was deleted after merge and
ziz-drop/is no longer onstandardsmain. The 17 files at its heade56b8bfwere diffed against the owner's newer local copy:JEG.adoc,grammar.js,scanner.c, corpus, examples, JSON.defmacro,pair?/sym?/str?, self-evaluating keywords inziz0.chpl;lambda.zizin the examples recipe.HANDOFF.adoc,lib/dialectic.ziz,examples/lambda.ziz,docs/jeg-schema.a2ml.Template collisions
README.adoc: the unfilled template README ({{PROJECT_NAME}}) is replaced by the Žiz README.Justfile: the template's placeholderbuildrecipe body is replaced withchpl --fast bootstrap/ziz0.chpl -o ziz0;examples,grammar,ascii-checkappended. The fragment file is not committed.Verified (tree-sitter 0.26.11)
tree-sitter generate✓,tree-sitter test7/7 ✓examples/*.ziz+lib/dialectic.zizparses with 0 ERROR/MISSING; a broken control input still failsscanner.ccompiles with-Wall -Wextra -WerrorThree bugs fixed to get there:
_newlineat EOF andsource_fileaccepted it repeatedly.\nwas not an extra). Now an extra, as in tree-sitter-python.printinlayout.ziznested insidedefine), and bracket counting drifted because the scanner isn't called inside lists. Rewritten to oweNEWLINE DEDENT NEWLINE…zero-width; bracket counting removed.grammar/test/corpus/layout-regressions.txtpins these; 2/7 fail against the original scanner. Generated parser output is git-ignored (just grammarregenerates).NOT verified
bootstrap/ziz0.chplhas never been compiled: nochplavailable.just build/just examplesand the expected3628800/ JEG dump /(var y) (var z) (var q)are unverified.hyperpolymath/rsr-template-repo— not checked (they don't exist here).just ascii-checkalways exits 0 (… || true), so it reports but cannot fail; it currently flags only non-ASCII inside;comments.docs/jeg-schema.a2mlis registered (HANDOFF §Pending).🤖 Generated with Claude Code