Error formatting macro: pagetree: java.lang.NullPointerException

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Add brief comparison to Guava


  • There is no notion of executors Callbacks execute either synchronously or asynchronously apart from "execute immediately" or "execute asynchronously" (e.g., with with setTimeout)
  • deref on an unrealized promise cannot block; instead it throws an exception



Comparison to Guava ListenableFuture

Guava's ListenableFuture takes the same basic approach of passing a Runnable and an Executor for the callback. It should be trivial to extend the INotify and IDeliver protocols to Guava's ListenableFuture and SettableFuture.

The implementation in Guava is more sophisticated than the one in cljque, using an AbstractQueuedSynchronizer instead of monitors.