|
|
d2f25a6e44
|
Merge branch 'master' into worktree-agent-a9288676abb278ffb
|
2026-09-25 13:35:10 +07:00 |
|
|
|
f3d969618d
|
A class slot can carry a type, and set writes a declared slot
|
2026-09-25 13:32:16 +07:00 |
|
|
|
5066b8d288
|
The literal an array cannot hold is the element blamed, a negative literal in a generic body names a fix for every instantiation, and a doubly negated literal is positive
|
2026-09-25 13:29:42 +07:00 |
|
|
|
53880eb685
|
A class slot's type names its own package's class first, an int widens into a float slot exactly when it round-trips, and a constructor's refusal names the call that was wrong
|
2026-09-25 13:29:30 +07:00 |
|
|
|
3e09a1f722
|
Merge branch 'master' into worktree-agent-ac750a5e83cab251b
|
2026-09-25 13:18:42 +07:00 |
|
|
|
9aeee9d676
|
Merge branch 'master' into worktree-agent-a6ffe579d55d1892b
|
2026-09-25 13:16:58 +07:00 |
|
|
|
02e4fef830
|
i64->bytes and f64->bytes allocate from a growing temp allocator that (free-temp) releases once a frame and a dev build's agent poll wipes, so a number drawn every frame no longer leaks
|
2026-09-25 13:07:21 +07:00 |
|
|
|
9394a26449
|
A negative literal fits no unsigned type, u64 included, and the refusal names the cast that writes its bit pattern, which a constant now folds
|
2026-09-25 13:02:50 +07:00 |
|
|
|
325c3662a8
|
A numeric type's limits are (max-value T) and (min-value T), and an array literal of numbers with no common type is refused with the conversion named
|
2026-09-25 12:56:02 +07:00 |
|
|
|
e7b01ea01c
|
Merge branch 'master' into worktree-agent-adcfc27e0ceac8df4
|
2026-09-25 12:55:56 +07:00 |
|
|
|
9ba99d7d5b
|
A dev build puts every closure handed to a named call on the collector's heap, since a redefinition can make the callee keep it
|
2026-09-25 12:55:56 +07:00 |
|
|
|
16427f8d07
|
A class slot may be a class or an Option, an int widens into a float slot when exact, a gained typed slot starts at its zero, and a migration never re-enters itself
|
2026-09-25 12:55:25 +07:00 |
|
|
|
59a0fc80de
|
Only a string the checker marks as a literal reaches C uncopied, a slice of dyn is refused at its clone, and the context allocator holds an incarnation so a restored context whose arena was destroyed traps
|
2026-09-25 12:55:18 +07:00 |
|
|
|
35f455acb3
|
The's refusal of a dyn says what the boundary does at that type, elements that cannot become a dyn are refused against each other, two literal arms meet at the wider type, and the renamed prelude function and a second startup warning stay out of sight
|
2026-09-25 12:49:02 +07:00 |
|
|
|
acec25f8a1
|
Merge master
|
2026-09-25 12:43:50 +07:00 |
|
|
|
aedd50c646
|
Merge branch 'master' into worktree-agent-ac750a5e83cab251b
# Conflicts:
# lib/check.ml
|
2026-09-25 12:17:58 +07:00 |
|
|
|
1d219b526c
|
Merge master into the typed class slots lane
|
2026-09-25 12:14:42 +07:00 |
|
|
|
c6cb018b9f
|
Only a closure that outlives its frame takes a collector environment, and the collector reads a Vec's elements only through a block it knows is live
|
2026-09-25 12:12:25 +07:00 |
|
|
|
bf0a939093
|
A dyn negation of a non-number is refused by name, and a prelude function shadowed in a live session is a recorded gap
|
2026-09-25 12:07:32 +07:00 |
|
|
|
c116237621
|
An Allocator value is its record and the incarnation it was made for, so one kept past its arena-destroy traps at every use even after arena-new reuses the record
|
2026-09-25 12:05:44 +07:00 |
|
|
|
5e9be2150f
|
A generic's name disassembles to each of its copies, and completion knows the name
|
2026-09-25 12:01:06 +07:00 |
|
|
|
77497cfc2c
|
A generic's copy made by an evaluated expression is disassembled from that expression's module, and one copy that cannot be shown no longer hides the others
|
2026-09-25 12:00:50 +07:00 |
|
|
|
5c0698d749
|
(max-of T) and (min-of T) are a numeric type's limits, at a concrete type or a type variable the bound admits, and given a slice they are still the prelude's reductions
|
2026-09-25 12:00:42 +07:00 |
|
|
|
f629123561
|
A lowercase vec, ptr, option or map over types in a return slot is a near miss for its constructor, and a bare && is written back as the (and) that compiles
|
2026-09-25 11:56:56 +07:00 |
|
|
|
e0af3c9b1d
|
A method of update-instance-for-redefined-class runs on each instance as it migrates, and one that signals offers migrate-by-name
|
2026-09-25 11:55:40 +07:00 |
|
|
|
b181003695
|
Merge branch 'master' into worktree-agent-a2450aee5a656816b
|
2026-09-25 11:54:15 +07:00 |
|
|
|
6c8611cece
|
Merge master
|
2026-09-25 11:53:00 +07:00 |
|
|
|
2ea47f91eb
|
A program's function named as a prelude function takes the name over for its own file, with a warning, and the prelude's own calls keep the prelude's
|
2026-09-25 11:51:58 +07:00 |
|
|
|
3892f1ed34
|
Merge master
|
2026-09-25 11:50:29 +07:00 |
|
|
|
d6217830ff
|
A defn whose body stands in its return slot is told it has no return type, a misspelled type constructor is a near miss, and not=, ==, &&, || and their kin name the Flan builtin that computes the same thing
|
2026-09-25 11:50:23 +07:00 |
|
|
|
c671bba490
|
(the T e) gives any expression its type, and an array literal nothing names is typed when its elements agree and a dyn vector when they mix
|
2026-09-25 11:47:28 +07:00 |
|
|
|
c9eb425ed1
|
A number i64->bytes or f64->bytes renders is copied into the context allocator and outlives the frame that made it
|
2026-09-25 11:47:01 +07:00 |
|
|
|
20fa04d9df
|
A program never waits on an editor that stops reading its pushes, and the editor keeps a bounded tail of the program's output
|
2026-09-25 11:42:54 +07:00 |
|
|
|
b05a97b029
|
A generic's name disassembles to its copies, each headed by the types it was called at, and is listed among the program's names
|
2026-09-25 11:41:31 +07:00 |
|
|
|
cb83014715
|
(clone xs) copies any slice's elements into a block from the context allocator or a named one, through the lowering (bytes s) uses
|
2026-09-25 11:40:42 +07:00 |
|
|
|
2682214499
|
A defclass slot may declare a type that every store into it checks, and set writes a declared slot
|
2026-09-25 11:40:08 +07:00 |
|
|
|
3cb6cebdbe
|
(- x) negates a typed number, a type variable and a dyn, and a float's negation of zero is -0.0
|
2026-09-25 11:37:56 +07:00 |
|
|
|
c6f0dd5450
|
A dev build fills a Vec's old buffer with 0xDEADBEEF when a push moves it, so a stale slice reads a value nobody wrote
|
2026-09-25 11:36:59 +07:00 |
|
|
|
c671f23b2c
|
Merge master
|
2026-09-25 11:36:46 +07:00 |
|
|
|
de8e00314b
|
A string literal handed to a declare-c reaches C uncopied, and both backends write a NUL after every literal
|
2026-09-25 11:33:03 +07:00 |
|
|
|
315125c677
|
A literal arm of an if, a cond or a match takes its type from the arms that are not literals
|
2026-09-25 11:32:54 +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 |
|
|
|
14bac84f53
|
!= over floats is unordered, so a NaN is unequal to itself on both backends as it already was on the dyn side
|
2026-09-25 11:27:49 +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 |
|
|
|
0b9ae9318e
|
flan build and flan run of a file with no main say so and show one, rather than failing at the link
|
2026-09-25 11:26:13 +07:00 |
|
|
|
97a2795cb2
|
A module that makes a closure stays mapped, and a closure held beside a collecting operand is rooted
|
2026-09-25 11:24:34 +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 |
|