An RC-friendly reactive graph with lazy computation and bounded retention.
Dependencies
Note: This module is experimental.
parent <--derived--- child1 <--derived--- child2 Node(parent) --ref-> Node(child1) --ref-> Node(child2)
| | |
ref ref ref
| | |
v v v
Dirty(parent) Dirty(child1) Dirty(child2) Node(parent) --ref-> Node(child1) --ref-> Node(child2)
| | |
ref ref ref
| | |
v v v
Dirty(parent) <-ref-- Dirty(child1) <-ref-- Dirty(child2)type DirtyFlagtype Node[T] child ---derived---> parent
Node(parent) ---ref---> Node(child)
| |
ref ref
| |
v v
DirtyFlag(parent) <---ref--- DirtyFlag(child) node(dict) ---+
| a -----+
|----> outputfn[A : Eq, B : Eq, C : Eq, D : Eq, E : Eq, F : Eq, G : Eq, H : Eq, I : Eq, J : Eq, K : Eq, L] Node::map11(a : Node[A], b : Node[B], c : Node[C], d : Node[D], e : Node[E], f : Node[F], g : Node[G], h : Node[H], i : Node[I], j : Node[J], k : Node[K], l : (A, B, C, D, E, F, G, H, I, J, K) -> L) -> Node[L]fn[A : Eq, B : Eq, C : Eq, D : Eq, E : Eq, F : Eq, G : Eq, H : Eq, I : Eq, J : Eq, K : Eq, L : Eq, M] Node::map12(a : Node[A], b : Node[B], c : Node[C], d : Node[D], e : Node[E], f : Node[F], g : Node[G], h : Node[H], i : Node[I], j : Node[J], k : Node[K], l : Node[L], m : (A, B, C, D, E, F, G, H, I, J, K, L) -> M) -> Node[M]fn[A : Eq, B : Eq, C : Eq, D : Eq, E : Eq, F : Eq, G : Eq, H : Eq, I : Eq, J : Eq, K : Eq, L : Eq] Node::zip12(a : Node[A], b : Node[B], c : Node[C], d : Node[D], e : Node[E], f : Node[F], g : Node[G], h : Node[H], i : Node[I], j : Node[J], k : Node[K], l : Node[L]) -> Node[(A, B, C, D, E, F, G, H, I, J, K, L)]An RC-friendly reactive graph with lazy computation and bounded retention.
Dependencies