Skip to main content
Version: ZIO 2.x

Summary

The ZIO library lets you easily solve problems in a variety of areas, including:

  • Asynchronous Programming โ€” Write asynchronous code as easily as synchronous code, handling all errors and never leaking resources.
  • Concurrent Programming โ€” Write concurrent code that scales easily, without locks or deadlocks, with maximal laziness and resource safety.
  • Parallelism โ€” Trivially partition work among many parallel fibers to make short work of CPU-intensive processing.
  • Queueing โ€” Build work processing flows and ration scarce resources with powerful asynchronous queues.
  • Retrying โ€” Create and test robust retry strategies that make your application resilient to transient failures.
  • Scheduling โ€” Schedule repeating work, like report generation or email notifications, using flexible, composable schedules.
  • Streaming โ€” Handle huge or infinite amounts of data in constant heap space with efficient, lazy, concurrent streams.
  • Testing - Easily test effectual programs with powerful combinators, built-in property based testing, and seamless mocking capabilities.

Explore the pages above and learn how the simple, powerful building blocks in ZIO help you solve problems in these critical areas.