|
|
d7016f91c7
|
A .fln file is read by an indented reader that yields the paren reader's forms, every program entry point picks the reader by extension, and flan convert prints either syntax as the other
|
2026-09-25 15:04:32 +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 |
|
|
|
9373c43113
|
The nested-overflow test waits for the outer break to be on top instead of sleeping, and names a session that dies
|
2026-09-25 13:56:11 +07:00 |
|
|
|
8bb2885e63
|
An abandoned evaluation puts the context allocator back, and a fault's break loop runs on a guarded stack of its own so a runaway recursion evaluated there is another break rather than a dead session
|
2026-09-25 13:49:24 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
c671f23b2c
|
Merge master
|
2026-09-25 11:36:46 +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 |
|