|
|
2135f6d37f
|
Merge branch 'master' into worktree-agent-a46233a32d1912c78
|
2026-09-25 23:27:55 +07:00 |
|
|
|
3e504deb6f
|
An arm is checked at the other arm's type first and meets it at the join only when refused there, so every program master accepts keeps its type and value while arms still meet in either order
|
2026-09-25 23:10:16 +07:00 |
|
|
|
c1beb602a7
|
A .fln let is always flat, and flan convert writes flat lets, renaming a shadowed name instead of nesting
|
2026-09-25 23:01:11 +07:00 |
|
|
|
93e614e239
|
A frame that prints shows its globals, live prelude shadowing matches a rebuild, flan run cleans up and dies with flan, and a long socket path works from Emacs
|
2026-09-25 22:59:50 +07:00 |
|
|
|
e18b28be3e
|
Master is merged into the flat-let lane
|
2026-09-25 22:49:39 +07:00 |
|
|
|
319a3c78c4
|
Merge branch 'master' into worktree-agent-a46233a32d1912c78
|
2026-09-25 22:40:48 +07:00 |
|
|
|
a14e633a21
|
A pointer's element type can be cast and a slice made from a pointer and a count with slice-from
|
2026-09-25 22:35:34 +07:00 |
|
|
|
ccdadeeb6e
|
A mark or a step spliced into a program that defines its own pause or step-point calls the prelude's
|
2026-09-25 22:34:28 +07:00 |
|
|
|
70b9040512
|
type-of answers a dyn value's kind as a keyword, and a class cannot be named after a built-in kind
|
2026-09-25 22:29:26 +07:00 |
|
|
|
d07c7b4e2c
|
A prelude function shadowed live keeps the prelude's own calls on the prelude's body, as a rebuild does
|
2026-09-25 22:28:58 +07:00 |
|
|
|
c41d27ec45
|
A frame whose slots are all the compiler's own is compared against the slot count its record carries, so a frame that prints keeps its globals and locals
|
2026-09-25 22:26:11 +07:00 |
|
|
|
4b1e722854
|
slice-from makes a slice from a pointer and any integer count, and ((Ptr U) p) casts a pointer's element type without dropping const
|
2026-09-25 22:24:11 +07:00 |
|
|
|
285bb1047f
|
The half-write test reports a session that closes under a question as a failure instead of ending test_dev
|
2026-09-25 22:24:08 +07:00 |
|
|
|
0b80c1956f
|
A let in .fln is always flat and a line indented under one is refused, the printer renames a let's name a later statement means otherwise or puts the let in a do: block, and a one-argument and/or prints as its argument
|
2026-09-25 22:23:37 +07:00 |
|
|
|
e80411d283
|
type-of answers a value's kind as a keyword or an instance's class name, and a class named like a kind is refused.
|
2026-09-25 22:18:36 +07:00 |
|
|
|
47cc213b42
|
Return types read off the body and the converter's latest fixtures live together
|
2026-09-25 22:14:32 +07:00 |
|
|
|
a1e5e39dba
|
Master's changes are merged into the dyn printing lane, with its converter fixture
|
2026-09-25 22:11:04 +07:00 |
|
|
|
2b35085358
|
flan run removes its executable and work directory when it is sent SIGTERM or SIGHUP, and the one-shot commands' empty work directory is gone from TODO.org since the exit handler already removes it
|
2026-09-25 22:10:07 +07:00 |
|
|
|
8aaf33589e
|
type-of is queued
|
2026-09-25 22:04:28 +07:00 |
|
|
|
5adabd9f3c
|
Dyn text is immutable and counts characters, str counts bytes
|
2026-09-25 22:03:26 +07:00 |
|
|
|
85283c2e87
|
Any typed container crosses into dyn as a view
|
2026-09-25 22:02:04 +07:00 |
|
|
|
c3d36b5108
|
The inspector reads memory directly, a trapped read shows as trapped without a break, and requests take effect in the order the client sent them
|
2026-09-25 22:01:53 +07:00 |
|
|
|
4f060bb648
|
Dyn and typed containers print as [1 2 3] and {:a 1}, a refused dyn view names the value and a dyn fix in the file's own syntax, and a dyn function whose body gives no value says so by name
|
2026-09-25 22:01:40 +07:00 |
|
|
|
c9b556a539
|
A restart is taken only after every job queued before it was accepted has run, and a choice waiting for an outer break survives a nested one, so a fix loaded just before retry is the body the retry runs.
|
2026-09-25 22:01:08 +07:00 |
|
|
|
af6e00bc2a
|
= compares bools, a match over a bool takes true and false, and a match over a dyn takes keyword arms
|
2026-09-25 22:00:51 +07:00 |
|
|
|
cecbec6c71
|
A slice from a C pointer and a pointer cast are queued
|
2026-09-25 22:00:13 +07:00 |
|
|
|
cc45b8a55d
|
Dyn has a character type
|
2026-09-25 21:57:37 +07:00 |
|
|
|
2dec18b87f
|
The typed text types are str and String
|
2026-09-25 21:54:26 +07:00 |
|
|
|
d8ece682d3
|
Merge master
|
2026-09-25 21:51:08 +07:00 |
|
|
|
bb800903d8
|
Return types read off the body and frame-escape refusals live together
|
2026-09-25 21:49:14 +07:00 |
|
|
|
7bc04cc434
|
Flan is dyn unless annotated
|
2026-09-25 21:43:21 +07:00 |
|
|
|
18581a452c
|
= and != compare bools, a match over a bool takes true and false arms, a match over a dyn takes keyword arms, and where predicates joined with and are refused with the comma or vector form as the fix
|
2026-09-25 21:35:31 +07:00 |
|
|
|
94134da25a
|
Dyn containers print without a space after the bracket, queued
|
2026-09-25 21:32:46 +07:00 |
|
|
|
d991e1986c
|
Flat lets and one-argument and/or in the .fln printer are queued
|
2026-09-25 21:27:50 +07:00 |
|
|
|
ed7258c80f
|
An abandoned check puts back everything it wrote into the environment, an else arm refused on its own terms is not blamed for the then arm's type, and a match's arms meet at the same join as an if's
|
2026-09-25 21:26:56 +07:00 |
|
|
|
d574031609
|
Keyword arms over a dyn and = on bool are queued
|
2026-09-25 21:23:50 +07:00 |
|
|
|
bd70dfa913
|
Merge branch 'master' into worktree-agent-a9ad2e8b56d1fbd10
|
2026-09-25 21:18:18 +07:00 |
|
|
|
4fa11f6360
|
Merge master
|
2026-09-25 21:11:31 +07:00 |
|
|
|
0fc258c434
|
Merge branch 'master' into worktree-agent-a46233a32d1912c78
|
2026-09-25 21:11:17 +07:00 |
|
|
|
f76d0d6e9f
|
An if's arms and a _ function's exits meet at one join in any order, a return inside the last form counts where it is written, and a constant computed by a _ function is refused as with a written type
|
2026-09-25 21:02:26 +07:00 |
|
|
|
9e09375d7b
|
Merge branch 'master' into worktree-agent-a6088ba602da36c5e
# Conflicts:
# TODO.org
|
2026-09-25 20:58:42 +07:00 |
|
|
|
69eb11ce9b
|
Return types read off the body and generic structs live together
|
2026-09-25 20:51:38 +07:00 |
|
|
|
111ee66a4b
|
A match arm can be a number, char or string literal compared with =, over a number, a string or a dyn, with a _ arm required
|
2026-09-25 20:51:24 +07:00 |
|
|
|
c6a3259a62
|
A function that returns or stores into a global an address or slice of its own frame is refused, a dev free-all poisons any arena's released bytes and ASan sees them released, and @sanitize checks stack use after return
|
2026-09-25 20:40:21 +07:00 |
|
|
|
36c2d14c28
|
The inspector's reader prints a generic struct instance as (Pair i32 {…}) through Render.head, as the compiled renderer does.
|
2026-09-25 20:33:31 +07:00 |
|
|
|
db7f703c0e
|
ML-style patterns are held as a future direction
|
2026-09-25 20:33:26 +07:00 |
|
|
|
25911d7c9d
|
Nested ML-style patterns are wanted
|
2026-09-25 20:31:57 +07:00 |
|
|
|
e7d82cb640
|
A match arm can match a number or string literal, queued
|
2026-09-25 20:30:31 +07:00 |
|
|
|
8fdf8513fd
|
A _ body's errors are reported with every other error in the file, a literal return takes the type of the other exits, and a recursive _ function that gives nothing returns ()
|
2026-09-25 20:17:44 +07:00 |
|
|
|
5d3a0fc316
|
Inferring a closure return and recompiling a _ caller after its callee changes wait behind .fln
|
2026-09-25 20:14:22 +07:00 |
|