ReactiveLazy is a reactive adapter
that implements lazy evaluation
(or memoization) while preserving reactivity, i.e. ability to respond to change.
ReactiveLazy computes its value upon first read
by calling its
and then keeps returning the same cached value.
The difference from non-reactive implementations is that
ReactiveLazy will reset itself to uninitialized state when dependencies change.
When this happens, dependent reactive computations are woken up, so that they can request new value.
ReactiveLazy is a reactive intermediary. It can be used as a single-value reactive cache.
ReactiveLazy is included in core library.
ReactiveLazy class in javadoc.
Since the javadoc is not complete yet, you might want to take a look at comments and implementation