High-performance arrow based library which makes pure and impure code to coexist in a purely-functional way.
Using Kleisli A => F[B]
as arrow abstraction and ZIO as a type A => IO[B]
, KleisliIO allows to integrate impure code in a separate constructor A => B
with no additional IO overhead. This constructor allows fusion of core arrow operations when both left and right side are impure functions.
Critical sections of code with impure functions will benefit from KleisliIO because of the dramatic reduction in overhead.
- Type-safe, purely-functional.
- Impure code integration.
- Comprehensive, composable
- Purely-functional: Y
- High-performance: Y
- Performance optimisation on impure sections of code: N
- Wide range of combinators: N