reactive: zero-alloc data structures and wave-based API#8277
Draft
cristianoc wants to merge 54 commits into
masterrescript-lang/rescript:masterfrom
reactive-noalloc-current-mechanismrescript-lang/rescript:reactive-noalloc-current-mechanismCopy head branch name to clipboard
Draft
reactive: zero-alloc data structures and wave-based API#8277cristianoc wants to merge 54 commits intomasterrescript-lang/rescript:masterfrom reactive-noalloc-current-mechanismrescript-lang/rescript:reactive-noalloc-current-mechanismCopy head branch name to clipboard
cristianoc wants to merge 54 commits into
masterrescript-lang/rescript:masterfrom
reactive-noalloc-current-mechanismrescript-lang/rescript:reactive-noalloc-current-mechanismCopy head branch name to clipboard
Commits
Commits on Mar 5, 2026
reactive: zero-alloc current mechanism (squashed)
Show description for 606bc07committed
Commits on Mar 6, 2026
analysis/reactive: add off-heap allocator and table
Show description for ea3527fcommitted- committed
- committed
- committed
- committed
- committed
- committed
- committed
analysis/reactive: add fixpoint destroy
Show description for f25a1a7andcommitted- committed
- committed
- committed
- committed
- committed
- committed
- committed
Commits on Mar 7, 2026
- committed
- committed
- committed
- committed
- committed
Commits on Mar 8, 2026
- committed
- committed
- committed
- committed
- committed
analysis/reactive: rename ReactiveHash to StableHash and push unsafe_of_list out of fixpoint
Show description for 7fcca4fandcommittedanalysis/reactive: rename ReactiveMap/ReactiveSet to StableMap/StableSet and use StableMap for fixpoint pending buffers
Show description for 6ba9994andcommittedanalysis/reactive: use Stable.t consistently in collection interface
Show description for de3a0b3andcommittedanalysis/reactive: eliminate unsafe_of_value for int/unit Maybe stable conversions
Show description for c7e93c6andcommittedanalysis/reactive: rename StableHash back to ReactiveHash
Show description for ee3a9daandcommitted- committed
- committed
- committed
- committed
analysis/reactive: rename ReactivePoolMapSet/Map to StableMapSet/Map
Show description for fab1182andcommittedanalysis/reactive: convert Source.table to StableMap and delete ReactiveHash
Show description for 9cf6204andcommittedanalysis/reactive: rename ReactiveWave to StableWave and delete unused ReactiveTable
Show description for bf1fe32andcommittedanalysis/reactive: rename unsafe_to_value to to_linear_value and document Stable policy
Show description for 315d3b2andcommittedanalysis/reactive: make Reactive.ml and ReactiveUnion.ml stable-safe
Show description for 630a876andcommittedanalysis/reactive: make ReactiveFlatMap.ml stable-safe
Show description for 7b65b20andcommittedanalysis/reactive: wave-based emit for FlatMap/Join, make ReactiveJoin stable-safe, fix right_tbl leak
Show description for 61de83dandcommittedanalysis/reactive: assert zero allocation and zero stable leak in alloc tests
Show description for d9ea44eandcommitted
Commits on Mar 9, 2026
analysis/reactive: make StableList interface stable-safe and make ReactiveFixpoint nearly stable-safe
Show description for 4e06ea6andcommittedanalysis/reactive: drop StableList.t wrapping, simplify to plain list type
Show description for 71ace98andcommittedanalysis/reactive: use 'a Stable.t list as StableList internal representation
Show description for a2d95f7andcommittedanalysis/reactive: replace Hashtbl with StableSet in fixpoint invariants, skip alloc checks when invariants enabled
Show description for c3ada97andcommittedanalysis/reactive: zero-alloc fixpoint invariants
Show description for c98f301andcommittedanalysis/reactive: add StableSet.equal and StableSet.copy, remove Sets_not_equal exception
Show description for 3b24424andcommittedanalysis/reactive: move invariant scratch sets out of t, add iter_with2
Show description for a19675eandcommittedtest: detect server crashes in reactive server test
Show description for c3002deandcommittedanalysis/reactive: fix StableQueue.resize and promote values before storing in C memory
Show description for f97c9ecandcommittedanalysis/reactive: use Maybe instead of option for file_data in reactive pipeline
Show description for 5ca43b9andcommitted