|
|
e4d0e9c60e
|
A pause mark on any column of a condition keeps what it binds, an as in parentheses gets its own refusal, and what an as finds is held in one slot.
|
2026-09-26 17:52:06 +07:00 |
|
|
|
c4547adb25
|
Master merges into the as-chain lane.
|
2026-09-26 17:42:08 +07:00 |
|
|
|
3afb7e13af
|
Master merges into the as-chain lane, and as names what a pipe answers.
|
2026-09-26 17:22:07 +07:00 |
|
|
|
f25f69c0be
|
The comment on the prelude's macro forms says the prelude is read once.
|
2026-09-26 17:18:34 +07:00 |
|
|
|
2af5dee0d0
|
The prelude is written in .fln and read once per process.
|
2026-09-26 17:18:15 +07:00 |
|
|
|
87709618f9
|
An as chain's refusals quote the whole condition, and narrowing after an as is tested.
|
2026-09-26 17:15:24 +07:00 |
|
|
|
21c2e78808
|
.fln has a pipe, x |> f(a), that passes x as the first argument.
|
2026-09-26 17:15:09 +07:00 |
|
|
|
0c7a53f526
|
A pipe into a language word is refused, and a pipe the next operator or an as swallows is refused with the bracketed form as the fix.
|
2026-09-26 17:11:15 +07:00 |
|
|
|
0598949fcb
|
Master merges into the as-chain lane.
|
2026-09-26 17:07:04 +07:00 |
|
|
|
c1916ed819
|
e as g is any test of a condition's and chain, binding g for the rest of the chain and the block.
|
2026-09-26 17:07:01 +07:00 |
|
|
|
5a3d480edf
|
In .fln, x |> f(a) reads as f(x, a), below or, with the Emacs mode indenting and marking pipe lines.
|
2026-09-26 16:58:53 +07:00 |
|
|
|
1763157ef2
|
Forms .fln cannot yet write are recorded.
|
2026-09-26 16:40:59 +07:00 |
|
|
|
edd2955383
|
The hand-written corpus holds the author's substring-search and sort practice file.
|
2026-09-26 16:37:18 +07:00 |
|
|
|
d8a70fea04
|
Merge master into the prelude .fln lane.
|
2026-09-26 16:37:09 +07:00 |
|
|
|
66fce31dbd
|
The prelude is lib/prelude.fln, embedded at build time and read by the indented reader.
|
2026-09-26 16:37:02 +07:00 |
|
|
|
b49c6ad9cd
|
The hand-written corpus gets the author's substring-search and sort practice file, updated to current .fln syntax with a main that runs and prints each function.
|
2026-09-26 16:36:35 +07:00 |
|
|
|
15ff547e52
|
rand-int stays u64.
|
2026-09-26 16:29:38 +07:00 |
|
|
|
3a2f3327f6
|
Three dyn-crossing gaps found beside the fold fix are recorded.
|
2026-09-26 16:28:15 +07:00 |
|
|
|
f4d79b0147
|
A dyn operand anywhere in a fold makes the rest of it dyn, and min and max take dyn numbers and chars.
|
2026-09-26 16:28:15 +07:00 |
|
|
|
181f7da037
|
Merge master into the dyn fold lane.
# Conflicts:
# lib/check.ml
|
2026-09-26 16:16:25 +07:00 |
|
|
|
97e89c8d40
|
min and max take a dyn in any position, picking numbers by value and chars by code point in the dyn runtime and trapping at the form on anything else.
|
2026-09-26 16:15:52 +07:00 |
|
|
|
ac752d1405
|
.fln names carry no ? or !, predicates are is- and has-, and optionals are T?, x ??, x!, x? with narrowing, as, and ?. chains.
|
2026-09-26 16:13:32 +07:00 |
|
|
|
bd08d6524c
|
Merge master into the .fln optionals lane.
|
2026-09-26 16:08:16 +07:00 |
|
|
|
adfab2d482
|
A narrowed name keeps its assignability, a local whose address is taken or that a fn assigns is not narrowed, a trailing ? tests a whole chain, and the optional refusals name the test to write.
|
2026-09-26 16:08:16 +07:00 |
|
|
|
d138155eae
|
A dyn operand anywhere in an arithmetic, bitwise or comparison fold makes the fold dyn from there on, and min or max refuses one past its first pair as it does in it.
|
2026-09-26 16:08:08 +07:00 |
|
|
|
2243b55259
|
Intermittent dev-session tests wait until the features land.
|
2026-09-26 15:53:50 +07:00 |
|
|
|
8afa054349
|
Merge master into the .fln optionals lane.
|
2026-09-26 15:52:00 +07:00 |
|
|
|
d252eee2b2
|
In .fln x? tests that a value is present and narrows a local Option to its payload in the block it guards, and e? as g names what a test found.
|
2026-09-26 15:48:36 +07:00 |
|
|
|
6c6b5a60cb
|
?? continues a line, a chain or an unwrap is no place to assign, nested marks and a ? on a value say what to write, a lowercase type takes ?, and a predicate reads as a word with its name beside it.
|
2026-09-26 15:36:49 +07:00 |
|
|
|
e3f431ea79
|
A literal's reading is fixed where it is bound, and a dyn past the second operand of + is recorded as converted wrongly.
|
2026-09-26 15:31:58 +07:00 |
|
|
|
85482956ea
|
char is a typed code point that stays a char in dyn, a char plus an integer is a char, and a char minus a char is their distance.
|
2026-09-26 15:31:34 +07:00 |
|
|
|
570d2d88fb
|
A char plus or minus an integer is checked for overflow, so a trap names the true sum or the side of the range it left.
|
2026-09-26 15:27:07 +07:00 |
|
|
|
7361830938
|
A char minus a char takes the integer width its site wants, a chain of + or - folds left step by step, and a char plus a u64 is checked unsigned.
|
2026-09-26 15:23:34 +07:00 |
|
|
|
33203bd3c5
|
Merge master into the typed char lane
# Conflicts:
# TODO.org
# lib/check.ml
|
2026-09-26 15:04:23 +07:00 |
|
|
|
c9f33feb6c
|
Merge master into the .fln optionals lane.
|
2026-09-26 14:55:03 +07:00 |
|
|
|
37c4f2ee10
|
A char plus or minus an integer is a char checked to be a scalar value, a char minus a char is their distance, and dyn chars do the same.
|
2026-09-26 14:55:00 +07:00 |
|
|
|
178c129c97
|
A .fln name carries no ? or !, and .fln has T?, x ?? d, x!, if let over a plain name and a?.b chaining.
|
2026-09-26 14:54:58 +07:00 |
|
|
|
ce19ee615c
|
Performance work waits while design comes first.
|
2026-09-26 14:43:28 +07:00 |
|
|
|
7db1a81d1f
|
Builtins, prelude, vendor and raylib predicates are named with is- or has- and no name carries a ? or !.
|
2026-09-26 14:34:36 +07:00 |
|
|
|
2ace3bfe2b
|
(char n) on a u64 past 2^63 traps naming the u64 it was given.
|
2026-09-26 14:30:17 +07:00 |
|
|
|
3cc8ca9cbb
|
A test's flan dev daemon ends with its harness, a daemon whose socket is gone exits, agent sockets are removed with their program, and killing *flan* asks first.
|
2026-09-26 14:15:25 +07:00 |
|
|
|
ed5b56f212
|
A daemon under a test harness ends within a second or two of the harness going even while a client holds its connection.
|
2026-09-26 14:05:29 +07:00 |
|
|
|
398bd7b851
|
.fln is queued to become the only source language, with Swift optionals and no ? or ! in names.
|
2026-09-26 14:03:10 +07:00 |
|
|
|
3134246511
|
Merge branch 'master' into worktree-agent-a5e429a5bd331edd4
|
2026-09-26 14:00:12 +07:00 |
|
|
|
92fbeb4fc9
|
println prints a char as the character itself, and a char inside a value, in the inspector or at the REPL prints as its literal.
|
2026-09-26 13:59:32 +07:00 |
|
|
|
ce0068c0f7
|
A cheap front for dyn sequences waits on a program that needs it.
|
2026-09-26 13:53:24 +07:00 |
|
|
|
322a675f1b
|
A kept when or else-less chain gives an Option, get is a checked lookup, and .fln has if let and elif let.
|
2026-09-26 13:52:44 +07:00 |
|
|
|
fd8620516c
|
A char literal is a typed char unless typed code wants a number, and a char compares, hashes, converts with (i32 c) and a checked (char n), and crosses into dyn as a dyn char.
|
2026-09-26 13:49:02 +07:00 |
|
|
|
e122782577
|
The Emacs test script consumes its own arguments, so batch Emacs never opens the compiler binary after the tests.
|
2026-09-26 13:47:55 +07:00 |
|
|
|
38078cada3
|
A kept if-let chain takes its type from what its arm answered, so an arm that returns stays Never and one with no value makes the chain a statement.
|
2026-09-26 13:47:24 +07:00 |
|