|
|
65be0bf774
|
The closer placement after RET in an open call is recorded
|
2026-09-26 06:01:56 +07:00 |
|
|
|
d8fd89e31c
|
Calls without parentheses are held
|
2026-09-26 06:00:48 +07:00 |
|
|
|
e0652f2970
|
not as a prefix word is queued
|
2026-09-26 05:58:26 +07:00 |
|
|
|
1330f2cbc6
|
.fln has struct, class, method, generic, multi, macro, loop and type headers, one-line structs, and a top-level let is a global
|
2026-09-26 05:56:48 +07:00 |
|
|
|
444d2384ce
|
Indices separate like vector elements, queued
|
2026-09-26 05:56:31 +07:00 |
|
|
|
1022b7c7f9
|
Merge branch 'master' into worktree-agent-af3c12884ed5f2255
|
2026-09-26 05:54:17 +07:00 |
|
|
|
5a4ed94b65
|
Merge branch 'master' into worktree-agent-ae8e466a60e7cf35a
# Conflicts:
# TODO.org
|
2026-09-26 05:54:09 +07:00 |
|
|
|
6f6e01db06
|
A bare def is answered with the let to write, and a generic missing its arrow is refused at the end of its line.
|
2026-09-26 05:54:01 +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 |
|
|
|
8e8015cb2d
|
Primitive literals are typed by local inference, and container and text literals are dyn unless annotated
|
2026-09-26 05:52:20 +07:00 |
|
|
|
7c197e3bb0
|
A let takes several bindings on indented lines, queued
|
2026-09-26 05:46:52 +07:00 |
|
|
|
895828992e
|
Merge branch 'master' into worktree-agent-ae8e466a60e7cf35a
|
2026-09-26 05:44:39 +07:00 |
|
|
|
a8f98c86f1
|
A let in a form cut from inside a body stays local when the editor sends it, and the printer forgets one file's class names before the next.
|
2026-09-26 05:44:03 +07:00 |
|
|
|
f9dadce5d0
|
The typed read-only text type is str, and a variable may be named after a type when a type follows it
|
2026-09-26 05:40:11 +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 |
|
|
|
de0c8791f3
|
A variable named like a header or clause word, data = 3 or on += 1, is read and printed as an assignment.
|
2026-09-26 05:39:59 +07:00 |
|
|
|
3f4e5a930f
|
A defining form written as the fallback call in a .fln buffer draws its head as a keyword and its name as a definition, and imenu lists it.
|
2026-09-26 05:39:59 +07:00 |
|
|
|
72c73117d6
|
A .fln file writes a type alias as type Row = Vec(i32), and flan check prints nothing for a file that checks unless given --defs.
|
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 |
|
|
|
aefd2b7887
|
Merge branch 'master' into worktree-agent-a13e26f81443d4165
|
2026-09-26 05:39:56 +07:00 |
|
|
|
49e6ac6512
|
Comments and the README example spell the text type str.
|
2026-09-26 05:39:56 +07:00 |
|
|
|
34ef99d1f2
|
A block lambda in code cut mid-line reads against its line's start, an arm or else value ending in => takes its block, and a missing comma between indices shows the indexed spelling
|
2026-09-26 05:37:22 +07:00 |
|
|
|
69e5e7fe4a
|
A dyn value takes .field and [:key], queued
|
2026-09-26 05:37:20 +07:00 |
|
|
|
6e56fce7fa
|
flan-fln-mode reads a lambda's block inside brackets as statements, and the spec and manual write lambdas with =>
|
2026-09-26 05:27:28 +07:00 |
|
|
|
7e5ea096a5
|
A top-level let is a .fln global
|
2026-09-26 05:27:27 +07:00 |
|
|
|
b92e91bcaa
|
A parameter, local or field may be named str or any other type name when a type follows it, and a type-named parameter with no type after it is refused with both fixes.
|
2026-09-26 05:27:23 +07:00 |
|
|
|
3520e2d73e
|
Classes and methods get .fln syntax
|
2026-09-26 05:23:57 +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 |
|
|
|
8d24b024a2
|
One-line structs are queued
|
2026-09-26 05:19:51 +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 |
|
|
|
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 |
|
|
|
15fc197f9d
|
flan-fln-mode handles else after a one-line if, typed lambdas, restart report text and flat lets
|
2026-09-26 01:05:16 +07:00 |
|
|
|
ba3ad6b1bc
|
In a .fln buffer ik takes the value on a one-line else or elif line, a wrapped fn header's return type is coloured, and C-u C-c C-c on a let the let above merges in stops at its value
|
2026-09-26 01:05:00 +07:00 |
|
|
|
02fcb1725e
|
The .fln mode knows else under a one-line if, one-line else, flat lets whose value goes on under them, typed lambda headers, restart reports and Dir.north arms, in its bounds, TAB, pause targets and colours
|
2026-09-26 00:52:55 +07:00 |
|
|
|
3d97c73c32
|
Hand-written .fln programs cover the syntax, and .fln gains else after a one-line if, typed lambdas, a restart's report on its header, Dir.north, and messages that spell types in the file's syntax
|
2026-09-26 00:36:49 +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 |
|
|
|
fff1c0b9c3
|
Merge master: return-type inference beside the syntax-following type spellings
|
2026-09-26 00:27:59 +07:00 |
|
|
|
9befc558a0
|
A function's return type can be left to inference, with _ in .flan or no arrow in .fln, and if, match and return paths join their types the same way in either order
|
2026-09-26 00:10:18 +07:00 |
|
|
|
40eb57a5b6
|
A dyn opened in any value position of an operand or an arm makes it meet as a dyn, found by the one walk of value positions the frame-escape check also uses
|
2026-09-26 00:09:42 +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 |
|
|
|
dbddc61b30
|
defvar in a .fln file suggests once and def in its spelling, and x++ on a global suggests ++(x)
|
2026-09-25 23:48:59 +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 |
|
|
|
263214e639
|
A dyn opened by an expectation is marked where it is opened, so a bool or an Option beside a dyn stays a dyn, and an operand refused at a type is not asked again, so nested sums and matches check in linear time
|
2026-09-25 23:43:14 +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 |
|
|
|
2135f6d37f
|
Merge branch 'master' into worktree-agent-a46233a32d1912c78
|
2026-09-25 23:27:55 +07:00 |
|