我想使用管道从文件中读取,然后将其流式传输到tokenizer。罪魁祸首是,即使是相同的字符序列也可能会产生不同的标记,具体取决于之前的输入。
那么如何在一堆State
之间的单Conduit
中处理IO
?
写Conduit Char (State TokenizerStateType) Token
确实会产生错误类型的错误(IO想要,State得到错误类型)。
由于我不在自己的电脑上,我无法提供一个不起作用的最小例子,但是只要我有ghc,我就会添加一个。
答案 0 :(得分:5)
我建议您使用Conduit Char (StateT TokenizerStateType IO)
,并根据需要使用liftIO
来执行IO
次操作。