我有两个变量,第一个变量的类型为Either String Int
,第二个变量的类型为IO(Either String Int)
。
正如您所看到的,两个变量的结构几乎相同,除了第二个变量被包装到 IO
中。
为了使其可组合,我计划将两者提升到 MonadTransformer EitherT
中,但我必须将第一个变量提升到 IO
中。
将第一个变量提升到 IO 中以使其可组合是否错误,尽管它没有发生副作用。
它即将进入 IO 上下文。
最佳答案
不,这没有错;事实上,it is encouraged .
关于haskell - 我是否违反了抽象法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47347057/