aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/044-specs/run.sh
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-13 04:29:52 +0100
committereunhhu <[email protected]>2026-10-13 04:29:52 +0100
commit6d677df51faa120a91c44d5f069a0e51f4212727 (patch)
tree8997e9fb92ed563d3e17f8d2d022f17f645877a7 /research/experiments/044-specs/run.sh
parent6238169f9adec8bc83337ffe0f54f4be756fa558 (diff)
downloadpure-6d677df51faa120a91c44d5f069a0e51f4212727.tar.gz
pure-6d677df51faa120a91c44d5f069a0e51f4212727.zip
Research 140: a suite of eleven specs from different fields (DNS, SHA-256, inflate, JSON, UTF-8 and line breaking, relational queries and graphs, text editing, box layout, HTTP/1.1 by packets, retries and timeouts, constant-time crypto) with five criteria (written in aup and Pure alone, no workaround, lines against a Python reference, time against C, the spec's own vectors passing in Pure's checks on three machines); ten probes (044) show today's aup stops at a byte by position, bit operations, nesting, recursion, variants and reading a character; the core's minimal candidates and the rule against piling up (only what two specs need); SHA-256 and JSON first
Diffstat (limited to 'research/experiments/044-specs/run.sh')
-rwxr-xr-xresearch/experiments/044-specs/run.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/research/experiments/044-specs/run.sh b/research/experiments/044-specs/run.sh
new file mode 100755
index 0000000..670d0a7
--- /dev/null
+++ b/research/experiments/044-specs/run.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Research 140: compile each probe with aup and print what it says. A probe is
+# the first thing a spec in the suite needs (a byte at a position, a bit
+# operation, a record inside a record, a call to itself, a variant, a
+# character at a position). AUP is the aup checkout (default ../aup beside
+# Pure); the output is the evidence table in 140.
+set -u
+here=$(cd "$(dirname "$0")" && pwd)
+aup=${AUP:-$here/../../../../aup}/build/aup
+for f in "$here"/probes/*.aup; do
+ printf '%s\t' "$(basename "$f")"
+ if out=$("$aup" build "$f" -o /dev/null 2>&1); then echo "compiles"; else echo "$out" | head -1 | sed "s|^$here/probes/||"; fi
+done