|
|
5d41a2d424
|
A dyn vec or map moved into typed storage takes a char where its code point fits, and a whole float in a trap's sentence reads as 2.0.
|
2026-09-26 12:54:08 +07:00 |
|
|
|
f35a2b240a
|
Merge master into the dyn char lane
|
2026-09-26 12:51:41 +07:00 |
|
|
|
28d4c0f8dc
|
A number literal takes its type from its uses inside the function, an unconstrained float literal is an f64, and a dyn use asks for the dyn width.
|
2026-09-26 12:41:54 +07:00 |
|
|
|
9c47d3bacc
|
A dyn goes into every integer width range-checked, a char where its code point fits, and the trap names the width and what it found.
|
2026-09-26 12:27:40 +07:00 |
|
|
|
d5437c3f22
|
A non-ASCII char literal is refused where a byte is wanted, a dyn int or char goes into an i32 range-checked, a cast on a dyn char gives its code point, and C1 controls print as \uXXXX.
|
2026-09-26 12:15:04 +07:00 |
|
|
|
78e25dfa48
|
A str from dyn text is pinned once per temp stamp and is a poisoned temp copy in a dev build, a float past f32's range and a map key a struct lacks trap, and a struct's refusal names what the value is.
|
2026-09-26 12:09:25 +07:00 |
|
|
|
66ea0b3abe
|
Merge branch 'master' into worktree-agent-ab88d16e8e6fbfe15
|
2026-09-26 12:05:38 +07:00 |
|
|
|
0ed3ce93e2
|
Every char prints as a spelling that reads back as it, with a name or Clojure's \uXXXX for each control character.
|
2026-09-26 11:54:03 +07:00 |
|
|
|
6d8ced2ba3
|
A dyn text becomes a str as its own bytes, a dyn view becomes its own storage, and a dyn vec or map becomes a checked copy in a [const T], a fixed array or a struct, while a writable [T] is never a copy.
|
2026-09-26 11:48:01 +07:00 |
|
|
|
c7fb0e5422
|
Literal locals fed through do, let and if arms share one type without extra rounds, a chain past the rounds names the local to annotate, a restart's conversion fix shows the argument as written, and a name's lookup is answered from the last one under the same scope
|
2026-09-26 11:14:15 +07:00 |
|
|
|
1d09f2fd3d
|
Merge master into the dyn char lane
|
2026-09-26 11:11:42 +07:00 |
|
|
|
71f2b0b9b6
|
Dyn has a char that prints as its literal, dyn text counts characters, and chars and text convert between a text and a vec of chars.
|
2026-09-26 11:11:42 +07:00 |
|
|
|
c4452fc500
|
Merge master into the bit operators lane
|
2026-09-26 11:04:32 +07:00 |
|
|
|
4188c47b76
|
A dev build's self-equality scan starts by bumping a stamp rather than clearing its table, so one large scan leaves later ones as cheap as their own size.
|
2026-09-26 10:52:59 +07:00 |
|
|
|
473bf0a2b7
|
The bit operators are && || ^^ ~~ in .fln at Python's precedence, take integers only on typed and dyn values, and popcount, leading-zeros, trailing-zeros and the rotations exist on both backends.
|
2026-09-26 10:49:54 +07:00 |
|
|
|
23663c4773
|
An unconstrained float literal is an f64, literal locals settle by merging the locals that feed each other, and a restart refused for a number type writes the conversion
|
2026-09-26 10:45:46 +07:00 |
|
|
|
9644b8a616
|
A dev build's self-equality scan walks each container once, a free finds its block by the keyed probe, a registry listing waits out a growth, and a view's crossing and scalar read take fewer instructions.
|
2026-09-26 10:41:12 +07:00 |
|
|
|
0a05d83b3b
|
A release build's dyn view carries no dev record, the dev registry grows instead of dropping notes, a container compared with itself still traps on a stale view inside it, has-key? traps at its site, and a trap clears the walk site it leaves.
|
2026-09-26 10:13:01 +07:00 |
|
|
|
207f5d7bad
|
Merge master
|
2026-09-26 09:59:00 +07:00 |
|
|
|
497c9f470f
|
A dyn view's record is collected with it, a dev build ties a view of a stack address to its owning frame and finds a heap block through an address index, and a view's traps name the field, the operation and the site.
|
2026-09-26 09:54:45 +07:00 |
|
|
|
5f1b9b9e7e
|
An unconstrained float literal is an f32, and an integer literal meeting a float literal meets it at the float
|
2026-09-26 09:49:51 +07:00 |
|
|
|
7991e00e76
|
A struct's dyn view takes .field and [:k], read and assigned, and a get on it traps at its own site.
|
2026-09-26 09:32:49 +07:00 |
|
|
|
697c016231
|
Merge master
|
2026-09-26 09:29:40 +07:00 |
|
|
|
d519ca81dd
|
Merge master into the views lane
|
2026-09-26 09:29:15 +07:00 |
|
|
|
749b4aeb84
|
A float element of a dyn view takes an int it holds exactly and traps on one it does not.
|
2026-09-26 06:22:26 +07:00 |
|
|
|
5177586848
|
A number or character literal bound by let or loop takes its type from its uses in the function
|
2026-09-26 06:22:25 +07:00 |
|
|
|
e79d9c0d07
|
Merge master into the views lane
|
2026-09-26 06:18:31 +07:00 |
|
|
|
7953376e4e
|
Any typed container of numbers, bools, str, structs, arrays, slices or Vecs crosses into dyn as a view from any storage, and a dev build traps on a view whose frame returned or whose block was released.
|
2026-09-26 06:10:11 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
bdda16a461
|
flan run's program dies with flan, and a program killed by a signal ends flan run with 128 plus its number
|
2026-09-25 22:57:02 +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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
e81191d770
|
A bool returned from C reads as its low bit on --x86 as on LLVM, and the where-and fix and the x-1 hint follow the code's own syntax rather than its file name
|
2026-09-25 21:50:56 +07:00 |
|