Skip to content

docs: fill in stub user guide sections (arrays/loops, backs, externs)#334

Open
zeroecco wants to merge 6 commits intomainfrom
docs-backfill/user-guide-stubs
Open

docs: fill in stub user guide sections (arrays/loops, backs, externs)#334
zeroecco wants to merge 6 commits intomainfrom
docs-backfill/user-guide-stubs

Conversation

@zeroecco
Copy link
Copy Markdown

@zeroecco zeroecco commented May 1, 2026

Summary

  • Fills in three stub documents in zirgen/docs/ that were linked from the user guide index but had no content
  • 99_Arrays_and_Loops.md: covers Array<T,N> type syntax, array literals, range expressions, for (map), reduce (fold), and combining both; includes backs-on-arrays cross-reference
  • 99_Backs.md: covers the @ operator, the counter idiom, backs on components and arrays, forward declarations, and mux-layout caveats
  • 99_Externs.md: covers extern declaration syntax, the trust/constraint model, built-in externs table, and multi-cycle behavior

Test plan

  • Read each document end-to-end and verify all code examples are syntactically valid ZIR
  • Confirm cross-links between the three new docs and the existing tutorial docs resolve correctly
  • Run bazel run //zirgen/dsl:zirgen -- $(pwd)/zirgen/dsl/test/back_counter.zir --test --test-cycles 4 to verify the counter example from the Backs doc
  • Run bazel run //zirgen/dsl:zirgen -- $(pwd)/zirgen/dsl/test/induction_on_arrays.zir --test --test-cycles=5 to verify the arrays example

🤖 Generated with Claude Code

zeroecco added 6 commits April 6, 2026 02:02
Add comprehensive documentation for the ZIR-XXX: commit format standard.
This includes:
- CONTRIBUTING.md with quick reference and setup instructions
- docs/commit-guidelines.md with detailed guidelines and examples
- Documentation of existing commit-msg hook and template infrastructure

The repository already has validation tooling in place (.git/hooks/commit-msg
and .git/commit-msg-template). This commit adds missing documentation to help
all contributors understand and follow the standardized format.

Nightshift-Task: commit-normalize
Nightshift-Ref: https://github.com/marcus/nightshift
Adds tracked versions of commit-msg hook and template in hooks/
directory, along with setup script to install them. Updates
documentation to guide contributors through setup process.

Changes:
- Add hooks/commit-msg and hooks/commit-msg-template
- Add scripts/setup-git-hooks.sh for automated setup
- Update CONTRIBUTING.md with setup instructions
- Update README.md with contributing section

Nightshift-Task: commit-normalize
Nightshift-Ref: https://github.com/marcus/nightshift
Make hooks/commit-msg executable (100755) to match setup script.
While the setup script does chmod +x after copying, tracking the
file as executable in git is better practice.

Nightshift-Task: commit-normalize
Nightshift-Ref: https://github.com/marcus/nightshift
Create four new documentation files to help developers understand the
Zirgen compiler structure and development workflow:

- ARCHITECTURE.md: Compiler structure, MLIR dialects, and codegen pipeline
- docs/BAZEL_BUILD_GUIDE.md: Build system guide with common patterns
- docs/SCRIPTS_REFERENCE.md: Documentation for development scripts
- docs/CODE_NAVIGATION.md: Guide to navigating the codebase

Also updated README.md and zirgen/docs/README.md to link to the new
developer documentation.

These docs complement the existing user-facing circuit language
documentation by providing architectural overview and practical
development guidance for compiler contributors.

Nightshift-Task: docs-backfill
Nightshift-Ref: https://github.com/marcus/nightshift
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