Разница между IO и UIO в скаляр ZIO - PullRequest
2 голосов
/ 12 марта 2019

В чем разница между IO и UIO в новой версии от ZIO, например UIO[Long] и IO[Nothing, Long]?

1 Ответ

7 голосов
/ 12 марта 2019

Разницы нет. Введите UIO[+A] = ZIO[Any, Nothing, A] и введите IO[+E, +A] = ZIO[Any, E, A]. Таким образом, UIO[Long] и IO[Nothing, Long] равны ZIO[Any, Nothing, Long] (т.е. любая среда, без ошибок и значение Long).

Вы можете проверить это, убедившись, что

implicitly[UIO[Long] =:= IO[Nothing, Long]]
implicitly[IO[Nothing, Long] =:= UIO[Long]]

компилировать.

UIO[A] - это IO[Nothing, A].

...