<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aup/docs/design, branch master</title>
<subtitle>Declarative systems language and compiler targeting verified Pure modules.
</subtitle>
<id>http://git.yeowoo.org/aup/atom?h=master</id>
<link rel='self' href='http://git.yeowoo.org/aup/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/'/>
<updated>2026-10-19T07:05:53Z</updated>
<entry>
<title>002: a list value of numbers, bools and i64s is copied whole by Pure now (600 items about 1 us); records with texts or lists still item by item</title>
<updated>2026-10-19T07:05:53Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-19T07:05:53Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=1efe1c74f075ffac72fb0e39f0c7aa8e381d4916'/>
<id>urn:sha1:1efe1c74f075ffac72fb0e39f0c7aa8e381d4916</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Hex literals are numbers where numbers go without a core change (140's UAX #14 friction): 0x... compared with a number, in its arithmetic, in min and max, given to a number's state, let or field is that number, past 2^53 refused; alone or meeting an i64 it is an i64 as before, bit operations as before; frictions in make check, two diagnostics; 002 records the frictions written away; no module of aup's, Pure's or Vega's changes</title>
<updated>2026-10-19T06:18:33Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-19T06:18:33Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=b116cf7b59db6a90b2d5146742bb838144fa831f'/>
<id>urn:sha1:b116cf7b59db6a90b2d5146742bb838144fa831f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bytes alone as a state (Pure 028): state x: bytes (= "..." its UTF-8), held as a text state is and written to the module as type 6, its name read as a bytes value and x = ... setting it whole (a string meets bytes), cursors and marks in it, its insert and remove, its start and end refused with a bytes state's diagnostic, a text never set from it; test bytes_state (300 steps of random bytes with 0x00 and 0xff added and cut, started again from the store 15 times, against Python; the same name as a text from the store and by a replace: UTF-8 bytes kept, others anew, and back to bytes what the text held), three diagnostics; the 60 sources the same modules; 002</title>
<updated>2026-10-19T03:42:05Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-19T03:42:05Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=096a70a7cd5a5785b1b52aa8512422b30f014c09'/>
<id>urn:sha1:096a70a7cd5a5785b1b52aa8512422b30f014c09</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Lets' lists in inner blocks and xs = [...] (after Pure 140's inflate): a let's list in an if's, a for's, a while's or a match's block (a handler's, a fn's or a view's body's) begins empty each time its let is run, one state let.NAME a name as before (gathered from inner blocks now), emptied there a item at a time (while xs.count &gt; 0 remove the last: a list of numbers' by its place count - 1, others' .last; Pure has no op that empties a list); xs = [...] empties a let's list and gives it its elements ([] none), a stored list refused; a list literal in an expression keeps its elements (it dropped them: a field's [1, 2] was empty); folds and filters hold no let's list; test inner_lists (100 random events: a for's list, a keyed one, a fn's, a view body's, xs = [...] and [] against Python), a diagnostic retired (an inner block's list now reads as unknown past it), one added; the 60 sources the same modules; 002</title>
<updated>2026-10-19T03:04:09Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-19T03:04:09Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=5f223bd45d9279982ec6e4ca334c089c07782639'/>
<id>urn:sha1:5f223bd45d9279982ec6e4ca334c089c07782639</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bytes compared (Pure's TEXT_COMPARE with PURE_COMPARE_BYTES): ==, !=, &lt;, &lt;=, &gt;, &gt;= between bytes by their bytes; a string (a literal, or one with formats) where bytes are what it meets, compared or joined, is its UTF-8 bytes, as 1 is an i64 where i64s go, values of text and bytes mixing in neither (bytes(t) or text(b)); test bytes_compared (400 random pairs with 0x00 and 0xff in the six relations, literals on either side, a formatted string, joins with literals, against Python), two diagnostics; the 60 sources compiled before the same modules; 002</title>
<updated>2026-10-19T02:56:43Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-19T02:56:43Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=4aefbab3cdbcb5a7c4b7598795baa276f82fd842'/>
<id>urn:sha1:4aefbab3cdbcb5a7c4b7598795baa276f82fd842</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Lists bare as values (after Pure 140's inflate and HTTP): a let's list or a message's rows named where a value goes is a list value (Pure's LIST_VALUE, a copy of its items), given to fns, returned (several at once too), held by a let or put in a field; a list value (a parameter's, a let's from a fn, a field's) moves by its number uncopied and is read through a register (for, a fold at its height, [i], [i].field, .count, .first, .last); changing one says it is a list value, a stored list is still no value; a list where a number goes says to walk it or read .count; test bare_lists (200 random lists through fns that fold, walk, read by position and give back two lists and a list of numbers, against Python), two diagnostics (one changed: o.rows where a number goes); the 60 sources compiled before are the same modules byte for byte; 002</title>
<updated>2026-10-19T02:47:47Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-19T02:47:47Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=0d66663351c411693c71788804717ad2694c81cd'/>
<id>urn:sha1:0d66663351c411693c71788804717ad2694c81cd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pure 027's 5c: {cents:.2d}, an i64 (or a number) in minor units written with its last N digits after a point (1234 at .2d is 12.34, -5 is -0.05), not Python's form, so the random formats test it against Decimal(v).scaleb(-N) written as .Nf (digits on two in five d columns); digits refused off f and d (the diagnostic names .2d), an i64's .2f pointing at .2d; 002's formats say so</title>
<updated>2026-10-19T00:48:45Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-19T00:48:45Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=9d3ed820105d97061aa5ce8d32b934cac85df180'/>
<id>urn:sha1:9d3ed820105d97061aa5ce8d32b934cac85df180</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Pure 027's 4c: cursors and indices are Pure's anchor in a module: the opcodes as v7 has them now (the anchor's seven in the place of the thirteen), a state's type as a module has it (an anchor 2, a bool 4, an i64 5), MOVE and COUNT naming the text or list (IN); at.line adds 1 to Pure's lines counted from 0; the language as it was</title>
<updated>2026-10-18T19:01:08Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-18T19:01:08Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=86a566ac42c0d930eb3914b0401dd8ef9e6e3d8b'/>
<id>urn:sha1:86a566ac42c0d930eb3914b0401dd8ef9e6e3d8b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Module format v7 (Pure 027's 4b-2): keyed documents gone from the language: 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</title>
<updated>2026-10-18T18:30:16Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-18T18:30:16Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=26658fea927aa87e861c936b2d7aa4163d38bdb4'/>
<id>urn:sha1:26658fea927aa87e861c936b2d7aa4163d38bdb4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bytes in a record field (Pure 027's 4b-1): body: bytes (= "..." its default's bytes), x.body.bytes its length (LEN), a text going there only as bytes(t); no list keyed by bytes or by a list; examples/documents.aup: keyed byte documents as a keyed list of records, each edit checked against the revision it was made on; documents_model: random shows and edits (stale revisions, past the end, any bytes, up to 5,000 at once) against a model, in memory and on a store restarting six times (half of the runs in bursts), four seeds alike (1,280 steps); four diagnostics</title>
<updated>2026-10-18T17:52:48Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-10-18T17:52:48Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=8709c7fdb9d18e30e6bb776f536aa230389fa527'/>
<id>urn:sha1:8709c7fdb9d18e30e6bb776f536aa230389fa527</id>
<content type='text'>
</content>
</entry>
</feed>
