Skip to content

Latest commit

 

History

History
40 lines (26 loc) · 1.36 KB

File metadata and controls

40 lines (26 loc) · 1.36 KB

Pipe Lang

Language implementation in Zig 0.15.2.

Project structure

  • src/tokens.zig — Token types and keyword lookup
  • src/lexer.zig — Lexer/tokenizer
  • src/main.zig — Entry point

PDPs (Pipe Design Proposals)

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.

GitHub

  • Use gh CLI for all GitHub interactions

Workflow

  • Build: make build (or zig build)
  • Run: zig build run
  • Test: make test (or zig build test)
  • Install to /usr/local/bin/: make install
  • Show targets: make help

Conventions

  • 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

Coding style

  • Prefer guard clauses with early returns over nested conditions
  • Always use braces with if statements — no braceless if expressions