ludic/changes/deps-reach.md
Orkuncakilkaya eb1e780733 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>
2026-09-26 06:24:46 +03:00

742 B

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.