feat(cli): 0.R4 - ludic deps sees through fn values (widest_reach) and lists the widest functions (--widest N, --reach N)
A step list or a registry of fn values takes no state and still reaches every state its steps take. The compiler now writes `reach <n> <function>` - every state a function can come to by a call, a `fn f` it writes or a global holding fn values it reads, to a fixed point - and ludic deps reports widest_reach beside widest_function, with how many of those states the function does not take (Maroon Lake: app_boot, 72, all 72 through fn values). --widest N lists the N functions that take the most states with what each reaches; --reach N orders them by reach. A baseline without widest_reach does not hold it until rewritten. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
2eefae0618
commit
eb1e780733
8 changed files with 45622 additions and 42625 deletions
10
changes/deps-reach.md
Normal file
10
changes/deps-reach.md
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
bump: minor
|
||||
type: feat
|
||||
**`ludic deps` sees through fn values, and lists the widest functions.** A step list or a registry of
|
||||
fn values takes no state and still reaches every state its steps take; `widest_reach` is the most
|
||||
states any function can come to - by a call, a `fn f` it writes, or a global holding fn values it
|
||||
reads - reported beside `widest_function` with how many of them it does not take itself
|
||||
(`the widest reach: app_boot (src/app/boot.ludic:30), 72 states (72 through calls and fn values it
|
||||
does not take)`). `--widest N` lists the N functions that take the most states with what each
|
||||
reaches; `--reach N` orders them by reach. A baseline written before this has no `widest_reach` and
|
||||
does not hold it until it is rewritten.
|
||||
Loading…
Add table
Add a link
Reference in a new issue