Vale la pena mencionar que la librería ZIO provee algunos alias para el tipo de datos ZIO, los cuales son muy útiles para representar casos comunes:
- Task[+A] = ZIO[Any, Throwable, A]: Esto significa que un Task[A] es un efecto ZIO que:
- No requiere un contexto para ejecutarse (esa es la razón por la que el tipo R es reemplazado por Any, lo cual significa que el efecto correrá sin importar qué contexto le proveamos)
- Puede fallar con un Throwable.
- Puede terminar exitosamente con un valor de tipo A.
- UIO[+A] = ZIO[Any, Nothing, A]: Esto significa que un UIO[A] es un efecto ZIO que:
- No requiere un contexto para ejecutarse.
- No puede fallar.
- Puede terminar exitosamente con un valor de tipo A.
- RIO[-R, +A] = ZIO[R, Throwable, A]: Esto significa que un RIO[R, A] es un efecto ZIO que:
- Requiere un contexto R para ejecutarse.
- Puede fallar con un Throwable.
- Puede terminar exitosamente con un valor de tipo A.
- IO[+E, +A] = ZIO[Any, E, A]: Esto significa que un IO[E, A] es un efecto ZIO que:
- No requiere un contexto para ejecutarse.
- Puede fallar con un error de tipo E.
- Puede terminar exitosamente con un valor de tipo A.
- URIO[-R, +A] = ZIO[R, Nothing, A]: Esto significa que un URIO[R, A] es un efecto ZIO que:
- Requiere un contexto R para ejecutarse.
- No puede fallar.
Puede terminar exitosamente con un valor de tipo A.