Closes #58, but built into the main Sherlock library. It turned out that a separate sherlock-async library has more downsides than upsides. The implementation is much simpler this way while having very limited overhead.
Note, this is effectively a rewrite of the derivables (reactors and dependency tracking are mostly untouched).
[x] introduce Symbols for all important internal constructs that could otherwise result in unexpected behavior
[x] introduce unresolved state and error state in all derivables (including constant and atom) that propagates to all derivations
Coverage decreased (-0.2%) to 99.735% when pulling 584d8a0024b6742c1f02ce210c2775cf6799487d on option-type into 68dab27f1497cf1c17e8660ba9b70f10036f9e34 on master.
Closes #58, but built into the main Sherlock library. It turned out that a separate sherlock-async library has more downsides than upsides. The implementation is much simpler this way while having very limited overhead.
Note, this is effectively a rewrite of the derivables (reactors and dependency tracking are mostly untouched).
Docs are tracked in separate issues #86 and #87.