在 Scalaz 中:
Kleisli[F, A, B]
是A => F[B]
的封装器。ReaderT[F, A, B]
-- 读取器单子转换器 -- 只是Kleisli[F, A, B]
的别名。Reader[A, B]
单子是使用恒等单子Id
特化的ReaderT
,即:
type Reader[A, B] = ReaderT[Id, A, B]
。
这是否只是巧合呢?还是说在 Scalaz 中 Kleisli
、ReaderT
和 Reader
是同构的?
在 Scalaz 中:
Kleisli[F, A, B]
是 A => F[B]
的封装器。ReaderT[F, A, B]
-- 读取器单子转换器 -- 只是 Kleisli[F, A, B]
的别名。Reader[A, B]
单子是使用恒等单子 Id
特化的 ReaderT
,即:type Reader[A, B] = ReaderT[Id, A, B]
。这是否只是巧合呢?还是说在 Scalaz 中 Kleisli
、ReaderT
和 Reader
是同构的?