October 2019
Intermediate to advanced
434 pages
11h 54m
English
Effects are abstractions that help us to encapsulate non-deterministic operations such as network requests or disk I/O. These types of operations don't fit as nicely into the pure mathematical model of functional programming because they take time, and their result is non-deterministic.
Arrow provides several abstractions with which we can model our side effect code:
Using IO, we can define a long-running operation and then consume it using typeclasses such as attempt() or runAsync():
IO<Int> ...
Read now
Unlock full access