This proposal has been coded up and the result is available here: https://github.com/relevance/clojure-async-blocks/tree/core-futures Note: the implementation of futures should be considered in "draft" phase, it will change radically before an alpha is released.
There are 4 major steps to this implementation:
1) The expression inside the state-machine macro is transversed
- Think about try/catch/finally, doesn't work at the moment
Don't overload the deref value, instead we will use await to deref listenablefutures futures Remove generator code, it could be confusing to new users
- Decide on a good future/promise library (WIP)