|
|
fc463cf320
|
The .fln reader refuses loop and recur, flan convert refuses a .flan file that uses them, and every loop outside recur.flan is a while or until.
|
2026-09-26 10:31:53 +07:00 |
|
|
|
36156c9de9
|
A dyn value takes .field and [:key] as get and put, and a class instance refuses a slot it does not have
|
2026-09-26 09:28:25 +07:00 |
|
|
|
b1404727b6
|
A lambda with a block prints wherever it is last in its brackets, an element after a block lambda is refused as not last, and TAB offers no column of a block whose brackets have closed
|
2026-09-26 06:09:47 +07:00 |
|
|
|
2dbc8539e5
|
Merge branch 'master' into worktree-agent-af3c12884ed5f2255
|
2026-09-26 06:09:13 +07:00 |
|
|
|
4eefd25df9
|
A class instance refuses a key its class does not declare, read or written, through get, put, .field and [:key].
|
2026-09-26 06:02:51 +07:00 |
|
|
|
1022b7c7f9
|
Merge branch 'master' into worktree-agent-af3c12884ed5f2255
|
2026-09-26 05:54:17 +07:00 |
|
|
|
605eb97e75
|
A dyn value's .field and [:key] read as get and assign as put.
|
2026-09-26 05:52:56 +07:00 |
|
|
|
895828992e
|
Merge branch 'master' into worktree-agent-ae8e466a60e7cf35a
|
2026-09-26 05:44:39 +07:00 |
|
|
|
702ebdc9c5
|
In a .fln file a top-level let is a global and def is refused, while a let in a block or an evaluated expression stays local.
|
2026-09-26 05:39:59 +07:00 |
|
|
|
cde4f2ab1b
|
A .fln file writes classes and methods as class, generic, multi and method headers, and flan convert prints them so.
|
2026-09-26 05:39:59 +07:00 |
|
|
|
905a4c53be
|
A struct or union fits on one line, struct Pt(x: i32, y: i32), and flan convert writes that form when it fits.
|
2026-09-26 05:39:59 +07:00 |
|
|
|
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 |
|
|
|
267db2cd91
|
The typed read-only text type is spelled str, and string is refused with that fix.
|
2026-09-26 05:22:24 +07:00 |
|
|
|
3c962197f4
|
A .fln lambda's body follows =>, and a lambda's block may sit inside a call's brackets as its last argument
|
2026-09-26 05:17:31 +07:00 |
|
|
|
6c32383539
|
Typed lambdas bind a generic's CFn variables, a local shadows an enum of its name, the lambda-in-brackets fix is the typed let that compiles, an else deeper than a one-line if or after else-if is refused by name, a block if takes a one-line else, and messages spell every type in the code's syntax
|
2026-09-26 00:36:21 +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 |
|
|
|
7e48f1eaf5
|
Eight hand-written .fln programs run the same on both backends and through a conversion to parens and back
|
2026-09-25 23:34:16 +07:00 |
|
|
|
8fe8062a0c
|
Hand-written .fln programs exist, flan convert writes corpus-shaped paren text, and several .fln diagnostics suggest .fln spellings
|
2026-09-25 23:26:53 +07:00 |
|