我有两个变量,第一个是类型 Either String Int 第二个是类型 IO (Either String Int)
Either String Int
IO (Either String Int)
如您所见,两个变量的结构几乎相同,只是第二个变量被包装到 IO
IO
为了使其可组合,我计划将两者提升到单变压器中 EitherT ,但我必须提升到的第一个变量 IO .
EitherT
将第一个变量提升到 IO 使其可组合,尽管没有副作用。
不,这没有错;事实上 it is encouraged .