404 Commits

Author SHA1 Message Date
82cbc8e63a TODO.org records that values still print in paren spelling. 2026-09-26 19:15:42 +07:00
5274f83f88 One fn form holds all of a name's arities, and evaluating it replaces them all. 2026-09-26 18:30:11 +07:00
1215db7d26 Merge master into the arity lane. 2026-09-26 18:29:54 +07:00
c3f1adb0c3 TODO.org queues decision 141: a dyn vector is a value, copied on first write. 2026-09-26 18:25:08 +07:00
5a8e7fa87b TODO.org records that eval-in-frame can assign loop indices and pattern bindings. 2026-09-26 18:21:09 +07:00
8d198f88c9 A condition can bind what it tests with as, inside and chains too, and the bound name is read-only in the program and in the debugger. 2026-09-26 18:21:00 +07:00
fd6510e0b5 Merge branch 'master' into worktree-agent-afbb9bcfd4d47bb1b
# Conflicts:
#	lib/check.ml
2026-09-26 18:06:56 +07:00
b814aca187 A kept when or else-less chain over an Option arm is that Option, flattened one level, unless an Option of it is wanted. 2026-09-26 18:02:43 +07:00
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
dd719766ee A fn's arities are one form, fn f with a (params) -> R line per arity, and evaluating it replaces every arity at once. 2026-09-26 17:35:18 +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
8f46a43e7a Merge branch 'master' into worktree-agent-afbb9bcfd4d47bb1b 2026-09-26 17:21:11 +07:00
70be2a57e6 Master is merged into the dyn crossing lane again. 2026-09-26 17:18:36 +07:00
3f59c18257 Merge master into the arity versions lane. 2026-09-26 17:18:24 +07:00
2af5dee0d0 The prelude is written in .fln and read once per process. 2026-09-26 17:18:15 +07:00
cb60df1dc0 A T is wrapped in Some wherever a T? is wanted, one level at a time and never unwrapped back. 2026-09-26 17:11:12 +07:00
29494c7978 Merge master into the arity versions lane. 2026-09-26 17:08:19 +07:00
179156b105 A function name has one version per arity, and a call picks the version by its number of arguments. 2026-09-26 17:08: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
f484f16190 Master is merged into the dyn crossing lane. 2026-09-26 16:48:32 +07:00
7dcef05df3 A u64 past the largest i64 traps where it crosses into dyn, a dyn nil past a fold's first pair traps at run time, and an is-numeric $t boxes beside a dyn. 2026-09-26 16:47:28 +07:00
1763157ef2 Forms .fln cannot yet write are recorded. 2026-09-26 16:40:59 +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
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
181f7da037 Merge master into the dyn fold lane.
# Conflicts:
#	lib/check.ml
2026-09-26 16:16:25 +07:00
bd08d6524c Merge master into the .fln optionals lane. 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
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
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
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
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
5038c5954a get on a String is refused as at is, a dyn get's trap names get, a kept else-less form beside a number is blamed at itself in arithmetic and comparisons, and a kept if-let chain with no final else gives an Option. 2026-09-26 13:40:16 +07:00
b545584de8 Master is merged into the when, get and if let lane, and dyn get over text counts characters through at's own body. 2026-09-26 13:17:57 +07:00
c24b19e7b1 Merge master into the dyn char lane 2026-09-26 13:09:28 +07:00
1b588df6b5 Master is merged into the when, get and if let lane after the review fixes. 2026-09-26 13:09:24 +07:00