Skip to end of metadata
Go to start of metadata


  • Clojure functions cannot use time for control flow without blocking or Java interop
  • Java interop (ScheduledThreadPoolExecutor) is not aware of thread-local bindings

Proposed Solutions

  • Higher-order functions which execute a given fn after a delay or on a repeating schedule
    • Built on ScheduledThreadPoolExecutor
    • Using same binding conveyance mechanism as Agents