|
|
da9f21ddcd
|
A form sent to the daemon is refused with every error in it, and an expression evaluated from the break buffer sees the stopped frame's locals
|
2026-09-25 15:33:23 +07:00 |
|
|
|
e2aa0196cf
|
Conditions have parents under Error, restarts carry where and why, and a handler reads the message with its values
|
2026-09-25 14:51:18 +07:00 |
|
|
|
610e9fcf9d
|
A parent's handler reads a name and message made in context/temp, whole and good until the frame ends, and the handler-case landing no longer holds a buffer of its own
|
2026-09-25 14:36:46 +07:00 |
|
|
|
409c5f5c0d
|
A read-only slice's diagnostics name (clone v) wherever clone copies the element type
|
2026-09-25 14:31:21 +07:00 |
|
|
|
5646ae148e
|
Merge master; an expression evaluated at a stop runs against a scratch temp arena that is wiped after it, and the program's own temp arena is never rolled back
|
2026-09-25 14:09:30 +07:00 |
|
|
|
38055b8fdc
|
A file with no main opens a session, and a crash in an evaluated expression leaves the session running
|
2026-09-25 14:04:14 +07:00 |
|
|
|
a0a86d0b80
|
The temp allocator grows a block that outgrows its chunk, answers a formatted number with one bump allocation, poisons what a dev wipe releases, and is wiped after each expression run while parked
|
2026-09-25 13:47:00 +07:00 |
|
|
|
e6ea657263
|
The array literal given a slice type by the matches a read-only slice too
|
2026-09-25 13:41:49 +07:00 |
|
|
|
b2eb81f7bf
|
A slice or pointer can be read-only, and what it reaches cannot be written through it
|
2026-09-25 13:39:04 +07:00 |
|
|
|
5a78cdd202
|
Merge master
|
2026-09-25 13:36:54 +07:00 |
|
|
|
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 |
|
|
|
c6ad71dc5b
|
A value that owns storage is never copied out of read-only storage, and two arguments at one type variable meet at const
|
2026-09-25 13:30:47 +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 |
|
|
|
639ff1859c
|
Aborting an expression that trapped in the park abandons it by a jump back to the poll that called it, and the session stays
|
2026-09-25 13:28:16 +07:00 |
|
|
|
3e09a1f722
|
Merge branch 'master' into worktree-agent-ac750a5e83cab251b
|
2026-09-25 13:18:42 +07:00 |
|
|
|
9d6694fd92
|
Merge master: an evaluated expression's lifted bodies are placed with its thunk
|
2026-09-25 13:18:40 +07:00 |
|
|
|
9aeee9d676
|
Merge branch 'master' into worktree-agent-a6ffe579d55d1892b
|
2026-09-25 13:16:58 +07:00 |
|
|
|
d864818956
|
A handler for a parent reads the condition's own name and message or the condition printed with its values, kept in the handler-case's own frame across the unwind, and a frame re-entered through a signal or a C call names where it is
|
2026-09-25 13:16:35 +07:00 |
|
|
|
0358f6637c
|
Merge branch 'master' into worktree-agent-ad097f67134ba0552
|
2026-09-25 13:15:36 +07:00 |
|
|
|
1998f57ca8
|
Merge branch 'master' into worktree-agent-ac49c2c6835655472
|
2026-09-25 13:14:44 +07:00 |
|
|
|
1e5be63a1a
|
An array reached through read-only storage slices to a [const T], a Vec or Map copied out of one stays read-only through lets, and an if's const and writable branches meet at const in either order
|
2026-09-25 13:08:29 +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 |
|
|
|
f87d596bdc
|
A file with a broken form still starts a session, a package's macros expand bare from its file, a delivery a running program never polls for says so with a fix that compiles, and aborting an expression stopped in the park abandons it and keeps the session
|
2026-09-25 13:06:36 +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 |
|
|
|
042c969e30
|
Every description of an Allocator value says it is two words
|
2026-09-25 12:55:38 +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 |
|
|
|
b74002be02
|
Merge master
|
2026-09-25 12:54:55 +07:00 |
|
|
|
bfd176cce9
|
Merge master: a handler clause runs without its own handler in force, over the condition descriptor, and StaleCall is an Error
|
2026-09-25 12:50:01 +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 |
|
|
|
1fb4b37125
|
A restart that takes values can be taken from the break loop, which asks for one per parameter and stores them into the frame as an invoke-restart would
|
2026-09-25 12:46:23 +07:00 |
|
|
|
11e1ff10a7
|
flan dev starts on a file with no main and links the agent into every program it builds, C-c C-k loads a file keeping what compiles, and an expression sent from a package's file resolves in that package
|
2026-09-25 12:44:15 +07:00 |
|
|
|
acec25f8a1
|
Merge master
|
2026-09-25 12:43:50 +07:00 |
|
|
|
d8945ae4ae
|
The address of read-only storage is a (Ptr const T), which nothing is written through and which a C const T * parameter takes
|
2026-09-25 12:43:04 +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 |
|
|
|
23b144178a
|
A dev build's frame records the call it is in, so a backtrace names the call each caller is making and the expression the innermost one stopped at
|
2026-09-25 12:12:40 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
73dfaacbc8
|
A condition type may name a parent and a handler for Error catches every built-in error, a signal passes one descriptor carrying its chain, name, sentence and site, and the break loop shows the sentence the runtime wrote
|
2026-09-25 12:05:13 +07:00 |
|
|
|
6e8cc52bc7
|
Merge branch 'master' into worktree-agent-ad097f67134ba0552
|
2026-09-25 12:02:48 +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 |
|