There are many ways of representing an IO interaction as a value.
- callbacks., async the helper library
- promises, promises are functional article
- Futures, slightly off's dom future thread
- reducers, Clojure reducers blog article, Rich Hickey reducers video
- old streams, The stream handbook
- streams2, the 5 minute guide
- continuable, continuable spec, continuable idea thread
- functional pull streams, pull stream semantics
- Signal concept
- minimal functional push streams
- A different functional push streams
- Lazy pipeable, 0.8 style streams