aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Module format v7 (Pure 027's 4b-2): keyed documents gone from the language: ↵eunhhu46 hours1-2/+1
| | | | no bytes by key, message by key, name[key] or .replace(first .. last, value), the opcodes DOC, DOC_SIZE and REPLACE (those after them moved up), the header 38 bytes; examples/editor.aup and bounded-editor.aup gone (examples/documents.aup does their work in a keyed list), and with them the parity with the earlier editor (documents_model checks the new one); diagnostics on documents rewritten for plain messages or gone (304); a module's records counted at their v7 place; a field changed by '=' said so where a call was written
* Write a library's record as the app does in every hint, and post its rows ↵eunhhu2026-10-041-1/+1
| | | | | | | | | over HTTP The hints of keyed lists, has and a whole item named a library's record by its plain name, which the app cannot write: they say store.User now. library_records posts a message whose rows are a library's records to pure-serve (make check builds it) and reads them back.
* Leave pure-serve's checks to Pureeunhhu2026-09-271-2/+2
| | | | | | | aup's check keeps what it owns: the language, the compiler, and apps written in aup matching their references on Pure's loader. The HTTP host's checks moved to Pure's tests/check.py, which builds its apps with this compiler.
* Name aup's one part: compiler/eunhhu2026-09-271-2/+3
| | | | | | As in Pure and Vega, the top level directories are the parts; aup has one, the compiler, checked end to end by tests/check.py.
* Build Pure's hosts from its top leveleunhhu2026-09-271-3/+3
| | | | | | | Pure now keeps the app model, the store and pure-serve in core/, store/ and serve/ with one top-level make; the earlier document server the parity checks compare against stays in prototypes/connections.
* Check pure-serve, pipelined connections includedeunhhu2026-09-261-1/+1
| | | | | | | | The server checks run pure-serve, which replaced the module mode of the old document server. A keep-alive client and pipelined requests (sent in one write, and in writes that cut heads and bodies) must get the same answers, in order, as separate connections.
* Check the module server and saving in burstseunhhu2026-09-261-2/+2
| | | | | | | | | | The HTTP document server running editor.aup must answer random requests exactly as the server running editor.pure (status, revision, error and body); concurrent edits must share commits; and every edit it acknowledged must survive kill -9. Every other stored run of the list app and the text editor saves in bursts and still matches its reference model across restarts.
* Emit Pure module format v4eunhhu2026-09-251-1/+1
| | | | | | Pure now loads only v4 modules. The new header counts records, which aup does not declare yet, so the output changes only in its magic.
* Compile messages and keyed documents to module v2eunhhu2026-09-251-2/+3
| | | | | | | | | | | | | | | | | | aup now emits Pure module v2 and adds keyed byte collections (state documents: bytes by key), message inputs by key with u32 and a trailing bytes field, on-message handlers, field access, name[key] reads and .bytes sizes, replace(a .. b, value), reply and require, all checked for number/bytes types with file:line:column diagnostics. The document editor and its size-bounded variant are rewritten in aup. make check runs them through pure-edit-module against pure-edit running the original editor.pure programs: 1,280 random show/edit/apply operations, including conflicts, limits, missing documents, budgets and invalid keys, produce byte-identical stdout, stderr and exit codes, and each CLI reads the other's store identically. v0a parity with the workbench engine, 33 diagnostics and generated/damaged programs still pass, also with a sanitizer-built compiler.
* Compile v0a programs to verified Pure moduleseunhhu2026-09-251-0/+19
aup check/build parse states, key inputs, views and handlers (with if/else and else-if), resolve names, generate forward-only stack code and encode a Pure module v1 deterministically. Diagnostics carry file:line:column. make check loads every module with Pure's verifier, checks determinism, 20 diagnostics and accepted forms, replacement by name, 600 generated programs and damaged sources (every emitted module verifies), and replays random event scripts against the workbench Zig engine: 16,667 snapshots across counter, toggle, charge, else-if and fault programs matched, including 921 failed events. The sanitizer-built compiler passes the same checks.