|
|
0fc258c434
|
Merge branch 'master' into worktree-agent-a46233a32d1912c78
|
2026-09-25 21:11:17 +07:00 |
|
|
|
4d3688a519
|
Merge master into the .fln mode lane; a .fln arm sends its match whenever its value uses any name the pattern has, C-c C-s steps a .fln top-level form, and a comment block directly above a form is part of its text objects
|
2026-09-25 20:53:48 +07:00 |
|
|
|
69eb11ce9b
|
Return types read off the body and generic structs live together
|
2026-09-25 20:51:38 +07:00 |
|
|
|
f1bdcc8840
|
Editor code cut out mid-line carries :indent, the column its statement starts at, so the reader accepts its wrapped lines as the file does and reports every location where it is in the buffer
|
2026-09-25 20:35:33 +07:00 |
|
|
|
ad40123b25
|
Master's error recovery and return types read off the body live together, and two ways out of an inferred body that cannot share a type are refused with both named
|
2026-09-25 19:58:31 +07:00 |
|
|
|
ff88b9dad6
|
A defn whose return slot is _ (or a .fln fn with no arrow) takes its return type from its own body, recursion through such functions is refused by name, and a stale caller of one is told which line changed its type
|
2026-09-25 17:09:13 +07:00 |
|
|
|
2f321fd061
|
Merge master into the generics lane
|
2026-09-25 17:03:13 +07:00 |
|
|
|
9d0d42e467
|
A generic struct's copy prints as (Pair i32 {...}), crosses to C behind a pointer, names each use that made it when refused, settles literal fields at the wider type, and is laid out by stores and restarts that first name it
|
2026-09-25 16:59:11 +07:00 |
|
|
|
fc6e2f7dfb
|
The break window evaluates in a frame and steps through a function, and C-c C-c reports every error in the form
# Conflicts:
# test/test_dev.ml
|
2026-09-25 16:52:32 +07:00 |
|
|
|
37938db7c2
|
A call through a failed local is not reported and a miscounted call's arguments are, eval-in-frame answers slotless frames and ended stops, flan dev links its own agent, and the daemon buffer colours only file:line:col diagnostics
|
2026-09-25 16:47:51 +07:00 |
|
|
|
96dbcb1f2f
|
An expression that makes a function value keeps its module mapped, a process a merged program starts does not take the session's socket, and an evaluation's value is its own expression's and not one a restart resumed
|
2026-09-25 16:37:43 +07:00 |
|
|
|
a95b4c288e
|
Merge branch 'master' into worktree-agent-a37bbb17fdd22924a
|
2026-09-25 16:35:58 +07:00 |
|
|
|
020392b064
|
Merge branch 'master' into worktree-agent-a55c4be9d199b8eb4
|
2026-09-25 16:22:58 +07:00 |
|
|
|
f32f88413e
|
Merge branch 'master' into worktree-agent-a4f010dac78379ee2
|
2026-09-25 16:20:22 +07:00 |
|
|
|
4054c4921b
|
A defstruct whose fields introduce $t or an array length $n is a generic struct, each application of it an ordinary struct copy that generic functions bind against, and a printed call is evaluated once
|
2026-09-25 16:08:14 +07:00 |
|
|
|
6c8f503ebf
|
A --two-process re-run checks the whole program before building it and refuses at a stale caller, and a change made while the child has ended waits in the session for the re-run
|
2026-09-25 16:08:13 +07:00 |
|
|
|
4b64dc5f65
|
Code-carrying dev requests name their syntax and starting line and column, so a .fln snippet sent from the middle of a buffer reads with the buffer's own locations
|
2026-09-25 15:57:09 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
f3d969618d
|
A class slot can carry a type, and set writes a declared slot
|
2026-09-25 13:32:16 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
6c8611cece
|
Merge master
|
2026-09-25 11:53:00 +07:00 |
|
|
|
0636eb3b8d
|
A generic's copy that the file does not make is named in its lowering rather than left out
|
2026-09-25 11:47:11 +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 |
|
|
|
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 |
|
|
|
c671f23b2c
|
Merge master
|
2026-09-25 11:36:46 +07:00 |
|
|
|
680c12e686
|
A restart frame carries where its clause is written, its :report sentence and whether a handler-case made it up, and the break loop shows the first two and hides the third
|
2026-09-25 11:35:12 +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 |
|