fine-grained is about "reexecuting just relevant parts".
signals' mechanism for that is "build a dependency graph at runtime"
react compiler's mechanism is "reexecute while letting granular expressions from past short-circuit to past values"
but like if you squint it's in service of same thing
The TSRX team has been hard at work listening to feedback, criticism, and ideas.
TSRX is now nearly fully backward-compatible with JSX. Instead of being statement-based, it’s expression-based, just like JSX.
tsrx.dev/blog/rethink...
i really think it's worth considering thinking about compiler as a different approach to finer grained reactivity, not just something to do useMemo's for you. it relies on React parts of JS code being pure-ish, and rewrites them into granular memoizable blocks. this includes JSX elements themselves
ok sidetrail.app should be up and running again
saying the compiler inserts memoization "at component boundaries" is incorrect. it has expression level granularity (depending on heuristic etc). so i'd say react+compiler should be a distinct point or line on your graph. it's closer to fine-grained solutions despite approaching it from opposite end
ayyy check it!
alex & the app crew are working on the designs for this while i'm working on the permissioned data protocol
& it all meets in the middle with ✨atmospheric communities✨ ideally operating on an ecosystem standard a la "standard.site for communities"
TSRX is a TypeScript language extension for building declarative UIs with readable, co-located authoring and framework-specific output targets.
yeah it's still memoization. i think the weird thing is just you can see memoization as an implementation detail for what's *conceptually* about making react code fine-grained reactive. react's reactivity is by default coarse, and compiler tightens it up to expressions
dan
i'd want to correct this a bit — the compiler actually emits optimizations that are impossible to do by hand because unlike useMemo/useCallback, the compiler-backed cache works with conditions. i'd recommend playing with playground.react.dev and reading the compiler output
communities are coming to Bluesky this year.
today, Bluesky is one big space. communities will be smaller spaces inside that where you can go deeper and hang out with people who care about the same stuff.