Skip to content

v4.0.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@natefaubion natefaubion released this 19 Aug 18:20

This pre-release for version v4.0.0 features a revamped API for writing more expressive asynchronous programs with stronger guarantees.

  • Fiber cooperative multi-tasking primitive for fork/join workflows
  • Stronger cleanup guarantees with bracket and supervise.
  • Reformulated AVar semantics

Migration Notes

  • The low-level callback representation is no longer relevant. If you've defined Aff effects via the FFI, you should transition to using Control.Monad.Eff.Compat, which provides an EffFn adapter.
  • The AVar API methods have changed to match Haskell's MVar API. putVar effects now block until matched with a takeVar. It's possible to recover similar behavior as the old API with forkAff (try (putVar avar value)).
  • Several unlawful instances where removed for Aff (Alternative, MonadPlus, and MonadZero).