我们这里用简单的案例(伪代码)
def readnonfp(): String = {
nonMonadicIO.readFile("somefile")
}
def readfp(): IO[String] = {
monadicIO.readFile("somefile")
}
现在这可能会像这样组成
length(readnonfp())
readnonfp >>= length
两者之间究竟有什么区别?IO monad 比其对应的 IO 方式更擅长什么?