Skip to main content
Version: 2.x

Core Data Types

In this section we are going to talk about the basic data types that are required to build a ZIO application:

  • ZIO — ZIO is a value that models an effectful program, which might fail or succeed.
    • UIO — UIO[A] is a type alias for ZIO[Any, Nothing, A].
    • URIO — URIO[R, A] is a type alias for ZIO[R, Nothing, A].
    • Task — Task[A] is a type alias for ZIO[Any, Throwable, A].
    • RIO — RIO[R, A] is a type alias for ZIO[R, Throwable, A].
    • IO — IO[E, A] is a type alias for ZIO[Any, E, A].
  • ZIOApp — ZIOApp and the ZIOAppDefault are entry points for ZIO applications.
  • Runtime — Runtime[R] is capable of executing tasks within an environment R.
  • Exit — Exit[E, A] describes the result of executing an IO value.
  • Cause — Cause[E] is a description of a full story of a fiber failure.