<feed xmlns='http://www.w3.org/2005/Atom'>
<title>aup/examples/charge.aup, 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-09-30T14:23:30Z</updated>
<entry>
<title>Give aup a bool: true and false, and conditions that take one</title>
<updated>2026-09-30T14:23:30Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-09-30T14:23:30Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=b8e3faaf1a3766591d31e6c5411c9e4fcc59a7a4'/>
<id>urn:sha1:b8e3faaf1a3766591d31e6c5411c9e4fcc59a7a4</id>
<content type='text'>
A condition was any number, non-zero being true: done was a number field,
a view showed 1 for true, and done + 1 was no type error. Now bool is its
own type (Pure 016, module format v6):

- true and false; comparisons, text comparisons, has and ! &amp;&amp; || give a
  bool. Bools are equal or not; they are no numbers and have no order.
- if, conditional expressions, require, where (folds, walks, filtered
  tables) take a bool. Given a number, the diagnostic says how to make
  one: "if takes a bool, not a number: compare it, as in n != 0".
- Bool states (state on = false), record fields (done = false), message,
  output and argument fields (ok: bool), lets, views and columns.
  Interpolation writes true or false. A list is not keyed by a bool.
- The examples' flags are bools (charge's holding, toggle's visible,
  tasks' done).

Checks: 20 bool diagnostics, a form using bools everywhere, an app whose
every output shows true and false (states, items, views, columns, text)
and whose replacement turns a number into a bool and back. Models hold
bools and compare them strictly: Python's True == 1 no longer hides a 1
where a true belongs. Generated programs are typed, numbers and bools.
</content>
</entry>
<entry>
<title>Compile v0a programs to verified Pure modules</title>
<updated>2026-09-25T10:05:51Z</updated>
<author>
<name>eunhhu</name>
<email>necpition205@gmail.com</email>
</author>
<published>2026-09-25T10:05:51Z</published>
<link rel='alternate' type='text/html' href='http://git.yeowoo.org/aup/commit/?id=3e35975ee9120042baa0e8fe2bb2d52311204e84'/>
<id>urn:sha1:3e35975ee9120042baa0e8fe2bb2d52311204e84</id>
<content type='text'>
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.

</content>
</entry>
</feed>
