| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Pure now loads only v5 modules, where a view entry's type is one byte
followed by the table it belongs to. Plain views encode as before, so the
output changes only in its magic. The view limit follows Pure's to 64.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
A record declares named number and text fields with defaults. A list of a
record is runtime-owned state, and an index of a list always names one of
its items: it follows its item across inserts and removes and stops at the
ends. Items are read and changed by field (tasks[at].title), appended or
inserted as record values whose missing fields take defaults, and removed
by index. Using an index of another list is a compile error.
examples/tasks.aup matches a Python reference model over 4,800 random steps,
including events that fail on an empty list. Replacing it with a module
whose record gained and reordered fields keeps every item.
|
| |
|
|
|
|
|
| |
Record v0b as complete: which text syntax exists, what is still missing
(multi-line strings, formats, graphemes, words), the insertion rule for
cursors, and how the text model and parity checks verify it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
aup declares connections and leaves storage, transactions and screen models
to Pure. Interface vocabulary lives in Vega, an aup library, not in the
language. text is one immutable UTF-8 type from a word to a 1 MiB document;
positions are cursors bound to a value that stay on character boundaries and
follow edits, lengths name their unit, and comparison is exact without silent
normalization. Stages v0b-v0d and their acceptance tests are listed.
|
|
|
aup is the language and toolchain for the Pure runtime, as Java and javac
are for the JVM. v0a unifies the workbench scalar dialect (state, key
inputs, atomic handlers, views) with the same numeric semantics; v0b drafts
byte values and runtime-owned persistent documents to replace the document
dialect. Parity with the existing executors is the acceptance test.
|