If you want to use callbacks or run suspended datatypes, then Effect is the typeclass to use. It contains a single function runAsync that takes a callback and returns a new instance of the datatype. The operation will not yield a result immediately; to start running the suspended computation, you have to evaluate that new instance using its own start operator: unsafeRunAsync or unsafeRunSync for IO, subscribe or blocking for Observable, and await or runBlocking for Deferred.

TODO. Meanwhile you can find a short description in the intro to typeclasses.

Data types

Module Data types
arrow.fx IO
arrow.fx.reactor FluxK, MonoK
arrow.fx.rx2 FlowableK, MaybeK, ObservableK, SingleK

Type Class Hierarchy

Do you like Arrow?

Arrow Org