|
|
1a97dfff77
|
A .fln file writes a condition's parent as struct DiskFull :parent IoError, a macro as macro repeat(i, n, & body) and a loop as loop x = a, y = b, and flan convert prints them so.
|
2026-09-26 05:39:59 +07:00 |
|
|
|
69e5e7fe4a
|
A dyn value takes .field and [:key], queued
|
2026-09-26 05:37:20 +07:00 |
|
|
|
7e5ea096a5
|
A top-level let is a .fln global
|
2026-09-26 05:27:27 +07:00 |
|
|
|
3520e2d73e
|
Classes and methods get .fln syntax
|
2026-09-26 05:23:57 +07:00 |
|
|
|
8d24b024a2
|
One-line structs are queued
|
2026-09-26 05:19:51 +07:00 |
|
|
|
ada798f875
|
type aliases in .fln are queued, and a noisy flan check is recorded
|
2026-09-26 05:05:05 +07:00 |
|
|
|
7d898beb91
|
Lambdas are written with =>
|
2026-09-26 04:57:45 +07:00 |
|
|
|
78e0091e3e
|
Dyn unless annotated follows the plain rule
|
2026-09-26 04:56:02 +07:00 |
|
|
|
1ef3022599
|
Parent struct, macro and loop sugar in .fln are queued
|
2026-09-26 04:52:54 +07:00 |
|
|
|
fff1c0b9c3
|
Merge master: return-type inference beside the syntax-following type spellings
|
2026-09-26 00:27:59 +07:00 |
|
|
|
fd1a7f2b36
|
A one-line if takes its else on the next line, lambdas state their types, a restart's report sits on its header, Dir.north names an enum member, messages spell types in the code's syntax, adjacent globals convert adjacent, and a bad map key is one error
|
2026-09-26 00:07:28 +07:00 |
|
|
|
dca29a5605
|
A .fln file's common mistakes are answered in .fln terms, a bare () in a body slot does nothing, and the syntax gaps found writing by hand are listed in TODO.org
|
2026-09-25 23:44:04 +07:00 |
|
|
|
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 |
|