【发布时间】:2011-12-29 23:41:15
【问题描述】:
免责声明:这是最近在 haskell-cafe 列表上提出的。我向因双重帖子而困扰的任何人道歉。
我知道的所有迭代实现包(例如iteratee、iterIO 和conduit)都定义了一个枚举组合函数,enumerator 包除外。在我看来,这似乎是一个严重的限制,但实现起来也相对简单:
import Data.Enumerator
import Data.Enumerator.Internal
(=$=) :: Monad m
=> Enumeratee a0 a1 m (Step a2 m b) -> Enumeratee a1 a2 m b
-> Enumeratee a0 a2 m b
(=$=) e01 e12 step = Iteratee $ do
step' <- runIteratee $ e12 step
runIteratee . joinI $ e01 step'
这里有什么我遗漏的问题吗?还是enumerator 不定义枚举组合的其他原因?
【问题讨论】:
-
我已通过电子邮件向the enumerator package 的作者/维护者 John Millikin 发送电子邮件,将他与此问题相关联。
标签: haskell enumerator