首页 > Haskell 当中是怎样处理多个 IO 请求的控制流的?

Haskell 当中是怎样处理多个 IO 请求的控制流的?

在 Node,js 当中, 使用在业务逻辑里可能需要控制大量 IO 操作,
于是出现了 async when 这样专门控制异步操作的库,
以及出现了 Promise 规范, 看网上的介绍, Promise 和 Monad 有不小的关联
http://www.ituring.com.cn/article/50561

那么, 我想知道, Haskell 当中是怎样用 Monad 控制复杂的 IO 操作的?
比如这样一些例子:


简单来说就是Haskell默认是lazy的, 所以IO就有比较大的问题参见http://stackoverflow.com/q/5892653
后来Oleg出了iteratee
大概就是一个数据流的抽象, 然后数据分为一块一块, 每一块都是一个状态机, 自己管理自己的生命周期(资源管理)
以及后来衍生出的pipes, Conduit, machines, 都是在这个抽象上的不同的trade off
处理多个文件的话, 就是处理这些流的composability问题

p.s LZ还认得我吗?

【热门文章】
【热门文章】