c0b4b22357
Growing, shrinking or freeing a container reached through a [const T] is refused, and a function that only reads a slice stands where one that may write it is wanted
2026-09-25 12:10:47 +07:00
6e8cc52bc7
Merge branch 'master' into worktree-agent-ad097f67134ba0552
2026-09-25 12:02:48 +07:00
2ff1da88da
A slice can be read-only: bytes-view answers a [const u8], and a store through one is refused at compile time
2026-09-25 11:43:41 +07:00
5062052425
Raylib's strings, models, file lists and matrix stack are bound, and a dev build can name what is still loaded at exit
2026-09-25 11:28:02 +07:00
05d86b243f
A library resource is known by its identifying field, a Get or a consuming Load is counted as raylib means it, bare pointers are not resources, the report waits for FLAN_DEV_LEAKS, and a release build emits the code it did before the tracker
2026-09-25 11:27:41 +07:00
9e26275f9b
A quasiquote nests as SBCL's does, a match takes an enum, and until is a prelude macro
2026-09-25 11:27:14 +07:00
de26d6e625
~~@xs splices an unquote per element, a session can call a macro an expansion defined, and an enum member cannot be named else
2026-09-25 11:24:27 +07:00
494c57d764
Merge branch 'master' into worktree-agent-ae2997a1e90aa9e02
2026-09-25 11:18:12 +07:00
840b3b215e
A Map's churn test fails a table that doubles instead of sweeping, and nothing recalled is cited as read
2026-09-25 11:18:12 +07:00
ed8dbbcd62
A handler-bind clause runs with only the handlers outside its own form in force, and a stale call in main's running loop stays listed until the callee changes back or the program re-runs
...
The first is CLHS 9.1.4.1: a clause that signalled the condition it handles used to re-enter itself until the stack ran out. The stale list now names a lifted clause by the function it is written in, and BUILT.md's cost line is measured against master.
2026-09-25 11:15:52 +07:00
d03b02b347
Merge master
2026-09-25 11:12:30 +07:00
8bebff61eb
Merge branch 'master' into worktree-agent-a8f88805fa4af49cf
2026-09-25 11:01:36 +07:00
cbfac9f474
A Map is a Swiss table, one control byte a slot with key and value side by side
...
Removal marks a deleted slot unless no probe can have passed it, and a rebuild at the same capacity sweeps them. The header, the entry points and the iteration contract are unchanged. A Map has no bounds check, so the entry asking to convert one is closed with nothing to convert.
2026-09-25 11:00:22 +07:00
3f30b82bcb
A return computes its value before its defers, and a dozen small refusals and constants say what the program meant
2026-09-25 10:54:09 +07:00
2f3544e7f5
Code after a return emits nothing, a wide element names the u64 array, and $ is refused in fn, handler, :keys and & binders
2026-09-25 10:53:52 +07:00
fe20f68ada
The runtime's races are driven by tests, a destroyed arena's record is reused, and a dyn index names its site
2026-09-25 10:51:08 +07:00
cc39ff2a01
A destroyed arena's allocator is reused by the next arena-new with its epoch kept, a stale dyn view names its site, and the spec fixes the Vec at five words in every build
2026-09-25 10:48:30 +07:00
a49ed2243a
Merge branch 'master' into worktree-agent-a4be641f87966b149
2026-09-25 10:48:05 +07:00
0863b62711
A string returned from C is copied into the context allocator, Model, Mesh and FilePathList cross the raylib boundary, rlgl's matrix stack is a package, and a dev build reports the library resources a program never released
2026-09-25 10:44:49 +07:00
60ef7b2e06
A recur from an arm of a match over an enum is in tail position, and a session's blind spot for macros an expansion defines is recorded
2026-09-25 10:39:42 +07:00
e9e151e1a4
A match over an enum names its members as keywords and is refused when it misses one
2026-09-25 10:33:22 +07:00
5581bafacb
A dyn at, set-at or push that traps names the file, line and column it was written at
2026-09-25 10:25:28 +07:00
cf04bfc8fd
A u64 converts to and from a float on x86 as it does under LLVM, across the top half of its range
2026-09-25 10:21:23 +07:00
dd160aa31b
A return computes its value before it runs its defers
2026-09-25 10:19:09 +07:00
4d10f3c327
An allocator outlives the arena arena-destroy hands back, so a container made from it traps on a read of live memory
2026-09-25 10:18:31 +07:00
0167fcef43
A quasiquote inside a quasiquote nests, and a macro that writes a macro defines one the program can call
2026-09-25 10:14:41 +07:00
d006a8b480
An array literal's first element types the rest, constant arithmetic folds at a bounded type variable, and a pointer or a plain union takes a byte fill
2026-09-25 10:14:24 +07:00
4a292b5a73
f64-inf, f64-nan, f32-inf and f32-nan are constants the compiler supplies
2026-09-25 10:07:22 +07:00
bf827dc55b
A test binary leaves nothing in the temporary directory it was given
2026-09-25 09:56:39 +07:00
6a1182df5d
A test binary runs under a temporary directory of its own and leaves nothing in the one it was given
2026-09-25 09:40:00 +07:00
795ba945d9
A dyn value held beside a sibling that can allocate is rooted until it is used, on every backend
2026-09-25 09:32:34 +07:00
0d629d791f
The array an index or a slice is taken of is rooted while its index runs, when it is a temporary
2026-09-25 09:30:41 +07:00
11dc230974
A defn- is private to its module, and the module's own macros may call it
2026-09-25 08:57:20 +07:00
793b0eea9e
A defn- is private to its module, the package's own macros may write calls to it, and the refusal names the fix
2026-09-25 08:55:37 +07:00
96314accd0
One library pipeline builds every program, one alias names the corpus, and a closed session leaves no directory behind
2026-09-25 08:53:45 +07:00
00f116ea29
Six small refusals and conversions say what the program wrote
2026-09-25 08:41:31 +07:00
6f0f4957f4
The break buffer, the inspector and the watch table show what a stopped program holds
2026-09-25 08:37:15 +07:00
ff744120fc
A release build's watch is only its value, next-error lets go of a stack that has resumed, and the frame a stop is in is always shown
2026-09-25 08:36:53 +07:00
0653f341d0
A dyn value held in an operand list is rooted while a sibling operand may allocate
2026-09-25 08:36:34 +07:00
63f1a1357f
Merge branch 'master' into worktree-agent-ad23aafb29b84cc8b
2026-09-25 08:33:28 +07:00
cb0be62087
An integer written at or above 2^63 is a u64 and nothing else, and vec-new reads a type from its argument only when the builtin is what was called
2026-09-25 07:43:24 +07:00
6fd456c0a2
A function declared with defn- is callable only from the files of its own package
2026-09-25 07:42:40 +07:00
f986c0728a
A test binary names the signal that killed a daemon, and the break buffer keeps its keys under Evil
2026-09-25 07:40:58 +07:00
88584f76bc
The records say what the tree does, and an arena grown in place answers to its budget
2026-09-25 07:39:11 +07:00
cbd910c117
An arena's budget holds when a block grows in place, and a shrink is never over budget
2026-09-25 07:36:52 +07:00
37ccca56a3
Every sweep reads the corpus through one alias, and a build that raises is a FAIL line in each of them
...
The sanitizer sweep also lists the five macro programs that run.
2026-09-25 07:23:12 +07:00
85b9f35a66
(watch "name" v) renders any value into the watch table the way print renders it
2026-09-25 07:22:59 +07:00
2250548b07
A test that sees a process die on a signal names the signal, not OCaml's number for it
...
OCaml numbers the signals negatively and in its own order: SIGTERM is -11. The globals daemon's "transient signal 11" was a SIGTERM, not a segfault.
2026-09-25 07:21:44 +07:00
f142cfaadf
A u64 constant above 2^63 can be written in decimal, and a cast's integer literal too wide for i32 is read at the cast's type
2026-09-25 07:16:42 +07:00
aa629da2e5
vec-new and map-new take a type expression where they take a type, so (vec-new [u8]) makes a Vec of byte slices
2026-09-25 07:10:48 +07:00