aboutsummaryrefslogtreecommitdiff
path: root/ONBOARD.md
Commit message (Collapse)AuthorAgeFilesLines
* bench: o3 guard is jit o3 collatz under half of jit plain (no interp rows ↵Gravatar zinc 13 days1-1/+1
| | | | needed)
* bench: no-region guard, selftest and --rows, interp rows behind INTERP=1, ↵Gravatar zinc 13 days1-1/+9
| | | | fail only over 10% and 0.1 ms
* make bench, bench-save, bench-check: wrap tests/bench/bench.sh plus a ↵Gravatar zinc 13 days1-10/+13
| | | | pointer sweep; baseline after jit step 2
* wip: bench wraps bench.shGravatar zinc 13 days1-0/+15
|
* agent/xref-report: unmerged work from previous sessionGravatar zinc 13 days1-0/+2
|
* Merge the compiler split into phase filesGravatar zinc 13 days1-10/+36
|\ | | | | | | | | also: ca_owners in the language server keeps the owner order in a fixed array instead of a heap list the analyzer rejected.
| * split compiler.zc into files by phaseGravatar zinc 13 days1-10/+36
| | | | | | | | | | | | | | | | | | | | | | | | src/compiler/compiler.zc is now twelve files under src/compiler/, listed in order in src/compiler/parts. cat of the parts in order is byte-identical to the old file, so every compiler and image except the language server's is unchanged. no function was edited. consumers read the list: the makefile, bootstrap-check, genmap (which still writes one compiler.zc into a generated map directory), tinyvm.bat, test.sh, test_win.ps1 and the lsp drivers. the language server embeds each part and serves them joined as the one document tinyvm:/compiler.zc.
* | Merge branch 'worktree-agent-ac140cf83750c2604' into ccr-0054c02e-dfdvndGravatar zinc 13 days1-1/+1
|\ \ | |/ |/|
| * docs: add SPEC.md, the first written specification of zcGravatar zinc 13 days1-1/+1
| | | | | | | | | | | | | | | | | | Reference for lexing, types, expressions (full precedence table), statements, declarations, the ownership analyzer and its messages, compile-time execution and the runtime contract, with appendices for the zc0 subset and for doc/implementation disagreements and bugs found while checking the rules against build/bin/zy. Pointers added to README.md and ONBOARD.md.
* | Merge branch 'worktree-agent-aaf6bc066598a6622' into ccr-0054c02e-dfdvndGravatar zinc 13 days1-0/+4
|\ \ | |/ |/|
| * parity: compare what zc0 and the self-hosted compiler printGravatar zinc 13 days1-0/+4
| | | | | | | | | | | | | | | | | | | | | | src/tools/parity.sh compiles each program of tests/programs, examples and examples/learn with zc0 (runtime, program, mkgenome, a microcore with the image embedded, kept under build/parity/) and runs it beside build/bin/zy < prog.zc, then compares stdout. what zc0 rejects is skipped and counted. tests/parity.known lists the differences that are by design (zc0 has no ownership analysis or memdebug checks). make parity runs it. tests/programs/parity_ops.zc pins operator precedence and associativity across every binary operator, unary operators, assignment and short-circuit order; its output matches a c compiler's.
* | docs: remove temporary notes and fix onboarding driftGravatar zinc 13 days1-5/+5
|/ | | | | | | | | | | | - delete TASKLIST.md and docs/design/handoff.md; the handoff content lives in README.md - move docs/BOOTSTRAP-OWNERSHIP.md to docs/history/ and index it in docs/history/README.md - point ONBOARD.md, docs/BORROW.md and the ticked TODO.md item at the new path - ONBOARD.md section 9 no longer mentions TASKLIST.md - ONBOARD.md section 3 and 4 markers are now `// ...` (line comments lost their colon) verified from a clean build: make clean, make (fixpoint 376903 words), the section 0-7 commands (section 4 after the marker fix), and the rejection suites. make check was started but did not complete (stopped before it finished).
* embed: tests, editor support and docs; js vm file access; test fixesGravatar zinc 13 days1-0/+187
embed declarations get accept and reject fixtures, a run-only image check through zc0, an lsp keyword hover and the grammar keyword. errors point at the declaration and still declare the name, so its uses are not reported again. zc0 tracks byte-string globals and lays embedded arrays out one word per element, the way its own indexing reads them. the command-line javascript vm reaches node's file system for the file syscalls, so include and embed work there; other embedders opt in. the web build is self-contained in build/web with its examples. README, BORROW and BOOTSTRAP-OWNERSHIP describe the new build and ownership rules, and ONBOARD.md is a reading and verification order for the code. the suite passes the map header to mklayout, the wasm fuzz program uses the include format, and lsp drivers scale their deadlines on hosts without the arm64 jit (ZC_TEST_TIMEOUT_SCALE). LLVM_CONFIG selects an llvm with headers for the llvm section.