Language implementation in Zig 0.15.2.
- GitHub: https://github.com/synapticvoid/pipe-lang (owner: synapticvoid, repo: pipe-lang)
src/tokens.zig— Token types and keyword lookupsrc/lexer.zig— Lexer/tokenizersrc/main.zig— Entry point
Design specs for language features live in docs/pdp/, named PDP-NNN-<slug>.md (e.g. docs/pdp/PDP-001-shell-call-syntax.md). A blank template is at docs/pdp/TEMPLATE.md.
When working on a feature tied to a PDP, read the relevant PDP first — it defines the canonical syntax, semantics, and open questions.
- Use
ghCLI for all GitHub interactions
- Build:
make build(orzig build) - Run:
zig build run - Test:
make test(orzig build test) - Install to
/usr/local/bin/:make install - Show targets:
make help
- Guide the user step by step — provide structure/skeleton first, let them implement
- Don't give full implementations; explain Zig-specific concepts at each step
- Review their code when asked ("check", "critize") — focus on correctness and Zig idioms
- Keep explanations concise and focused on what differs from Python
- Prefer guard clauses with early returns over nested conditions
- Always use braces with
ifstatements — no bracelessifexpressions