Skip to content

U 1.4.0: reasons that travel

Latest

Choose a tag to compare

@Justichuu Justichuu released this 17 Oct 06:05

Every u now says what would settle it, all the way through a computation, and many checkers make one answer only when they all agree.

  • Reasons that travel (u/why): a value is its face, the questions that could still change it, and who answered. not, and and or keep every reason any answer could still need.
  • Is it settled? (settled): asked of the knowing, not the value; never u. With it, U's operations build every two-input rule over 1, 0 and u (19,683 of 19,683; without it, 197).
  • Witnesses (witnesses, settle): 1 or 0 only when every checker agrees, otherwise u naming who said what. Never a vote.
  • Python port (why.py), and why-cli.mjs for JSON on stdin. u.js and why.js now import in a browser.
  • Also released from 9 and 10 October: u-bytes (u/u-byte), U6 (u/u6), the Python class U in u.py, and the fix that a u-bit must be one of u's faces (U2's pack, U5's reader).
  • The README is rewritten in the standard order: what U is, install, usage with real output, API.

[W] 80 Node tests; u.js, u.py and a POSIX shell give the same 22-result tape (01u10u000u0u11110u1uu1, unchanged); why.js and why.py answer 4,068 formulas byte for byte; u.js and why.js import in Chromium; CI passes on Linux, Windows and macOS with Node 22 and 24.

[U] The checkers are assumed to fail independently; three that share a blind spot agree on it. The shell port carries no reasons.

Download Run-U.html below, or open https://chuumind.com/u/run. SHA256SUMS.txt covers the downloadable HTML and LICENSE. See CHANGELOG.md for the full list.