|
|
527da37633
|
An evaluated expression's module is unloaded when its only strings are literals or registry names, because a literal is a copy the process keeps
|
2026-09-25 15:57:40 +07:00 |
|
|
|
a13c2f9ec3
|
The Map header mirror the collector reads is checked against flan_rt.c's, array key pairs cannot share a name, and a program holding only a Map of dyn sets up the collector
|
2026-09-25 15:52:57 +07:00 |
|
|
|
9a91440486
|
C-c C-s installs a defn that stops before each form of its body, and the break buffer steps it with s and runs the rest of the call with c
|
2026-09-25 15:43:24 +07:00 |
|
|
|
d46067962d
|
A Vec or Map parameter the function grows with push, reserve or put is warned at the parameter, naming the (Ptr ...) that reaches the caller's container
|
2026-09-25 15:41:42 +07:00 |
|
|
|
d0fc036bba
|
flan dev --sanitize builds the host under ASan and UBSan on LLVM, refuses --x86 by name, and the sanitize sweep drives a real session through reloads and breaks
|
2026-09-25 15:39:00 +07:00 |
|
|
|
a615e4ecfc
|
The leak sweeps have switches, a C source that includes the dyn header is recompiled when the header changes, and the map-remove and map-keys programs free what they allocate
|
2026-09-25 15:38:02 +07:00 |
|
|
|
e616a29ceb
|
A parameter vector paired by a lowercase type the program declares is warned at, naming the type and where it is declared
|
2026-09-25 15:37:26 +07:00 |
|
|
|
1716b146cd
|
A condition check_truthy has already refused is refused again from memory, so a retry through nested not is linear and keeps its message
|
2026-09-25 15:35:36 +07:00 |
|
|
|
f67498c789
|
A re-run under --two-process builds the program again from the session and starts it in a new process, and the daemon outlives a finished child
|
2026-09-25 15:35:23 +07:00 |
|
|
|
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 |
|
|
|
23af8a4dd3
|
A bool arm and a dyn arm of an if meet at dyn with the bool boxed, so (or false (box "s")) answers "s"
|
2026-09-25 15:31:12 +07:00 |
|
|
|
f6ba1e6c4d
|
A CFn may sit in a struct field, a fixed array or a global, and a call through a null one signals NullCall on both backends
|
2026-09-25 15:26:27 +07:00 |
|
|
|
8cc63ed9f6
|
A place in update, ++ and -- evaluates each of its subexpressions once, and (update place f args ...) stores (f old args ...) back into it
|
2026-09-25 15:26:27 +07:00 |
|
|
|
b8c81d94ee
|
enum? admits exactly the enums, entails ordered? and equal?, and licenses a generic conversion from an enum to a number beside numeric?
|
2026-09-25 15:26:27 +07:00 |
|
|
|
c30f52c5a7
|
A stop records whether it was inside an evaluated thunk, and an evaluation waits through a break the program's own code entered
|
2026-09-25 15:25:09 +07:00 |
|
|
|
58d1e35225
|
A local of a package's type is named by its qualified type in the break buffer's listing and the inspector, pinned by a shape/Box local in dev-inspect.flan
|
2026-09-25 15:22:48 +07:00 |
|
|
|
580d377847
|
A fixed array of strings or of structs is a map key, hashed and compared element by element
|
2026-09-25 15:21:30 +07:00 |
|
|
|
a41e43cbba
|
(slice d ...) over a dyn text answers a text, in the three spellings the typed slice has
|
2026-09-25 15:19:39 +07:00 |
|
|
|
d5fc3aa657
|
The agent binds the daemon's socket only in the process the daemon launched, named by FLAN_AGENT_OWNER
|
2026-09-25 15:18:55 +07:00 |
|
|
|
6745aa7cb4
|
map-keys and map-values are prelude generics over any hashable key
|
2026-09-25 15:17:05 +07:00 |
|
|
|
52c154e306
|
The x86 survey compares against LLVM built at -O0, the level the hand-written backend corresponds to
|
2026-09-25 15:15:30 +07:00 |
|
|
|
8dc90416d4
|
The daemon's buffer draws errors, warnings and notes in compilation's faces and the program's own output in a face of its own
|
2026-09-25 15:14:23 +07:00 |
|
|
|
680b8e7e59
|
A refusal inside a generic copy names each call that asked for it, a refused generic body is reported once, and a type variable prints with its $
|
2026-09-25 15:13:12 +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 |
|
|
|
bb4705b7e0
|
An allocator is two words and dies with its arena, clone copies a slice, and quick formatting uses a per-frame temporary allocator
|
2026-09-25 14:26:45 +07:00 |
|
|
|
22d2a4cfb2
|
An indented surface beside s-expressions is specified as a second reader chosen by file extension
|
2026-09-25 14:21:51 +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 |
|
|
|
f04cd18c0a
|
A session's evaluated modules are recorded as never unmapped
|
2026-09-25 14:06:06 +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 |
|
|
|
46a89aac0c
|
An expression evaluated at a stop rolls the temp allocator back to where it was, so its own text is reclaimed and the stopped frames' text survives
|
2026-09-25 13:54:07 +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 |
|
|
|
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 |
|
|
|
9d6694fd92
|
Merge master: an evaluated expression's lifted bodies are placed with its thunk
|
2026-09-25 13:18:40 +07:00 |
|
|
|
bbfb8ca58c
|
The parent-link entry says a parent's handler reads the message with its values
|
2026-09-25 13:18:10 +07:00 |
|
|
|
9aeee9d676
|
Merge branch 'master' into worktree-agent-a6ffe579d55d1892b
|
2026-09-25 13:16:58 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
b74002be02
|
Merge master
|
2026-09-25 12:54:55 +07:00 |
|
|
|
e75a66e463
|
The parent-link entry is followed by a blank line like its neighbours
|
2026-09-25 12:50:25 +07:00 |
|
|
|
2e586ef45f
|
The condition and restart entries this branch closes are off the list
|
2026-09-25 12:50:16 +07:00 |
|
|
|
cc95006024
|
Merge branch 'master' into worktree-agent-ac750a5e83cab251b
|
2026-09-25 12:49:38 +07:00 |
|