Error formatting macro: pagetree: java.lang.NullPointerException
Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

Problems

  • If the generating function of a lazy sequence blocks (e.g. for I/O), it blocks all consuming threads
  • Clojure's sequence functions cannot be applied to asynchronous events without converting events to blocking sequences

Proposed Solution

  • Protocols for generators and consumers of asynchronous events
  • Functions which mirror the Clojure sequence API (e.g. map, filter) for "push" events
  • Integrate with Scheduled Events

References

Experiments

  • Cljque by Stuart Sierra
    • Protocols "Observable" and "Observer" very similar to Rx
    • "Push" sequence API with fns that look like the sequence API, with the same names
    • Incomplete, currently-broken integration with Netty
  • Lamina by Zach Tellman
    • Foundation for Aleph
    • Based on Channels
      • Queues to which "handler" functions can subscribe
      • Permits both "push" and "pull" on the same data
Labels: