2014-07-02 103 views
2

我想使用管道從文件中讀取數據,然後將數據流傳輸到標記器中。罪魁禍首是,即使是相同的字符序列可能會根據之前的輸入產生不同的標記。如何從輸入文件流入具有狀態的管道

那麼我該如何處理State在一個Conduit之間的一堆IO

只要編寫Conduit Char (State TokenizerStateType) Token確實會產生錯誤類型的幾個錯誤(IO想要的狀態有錯誤類型)。

因爲我不在我自己的電腦上,所以我不能提供一個不工作的最小示例,但是我會盡快添加一個ghc。

回答

5

我建議使用Conduit Char (StateT TokenizerStateType IO),並根據需要使用liftIO來執行IO操作。

+4

好吧,我不得不在另外一個'ResourceT'中對它進行變形,但它現在可以工作。所以這個類型現在是'Conduit Char(ResourceT(StateT TokenizerStateType IO))Token' – NobbZ