conduit

    3熱度

    1回答

    在Monad.Reader Issue 19 Haskell的遊離T和協程型之間的關係,在「協程管道」的文章中,筆者定義了一個通用Coroutine類型: newtype Coroutine f m a = Coroutine { resume :: m (Either (f (Coroutine f m a)) a) } 我注意到,這種類型是非常相似的FreeT類型從fr

    2熱度

    2回答

    如果我用下面的Source: sourceList [1,3,3,1,2,3] 是否有可能一些過濾器或組合子只適用於允許不同的值被傳遞到下游? 那麼在我的例子中,只有[1,3,2]會傳遞到下游?

    0熱度

    1回答

    我正在處理ByteStrings流。我已經通過進口的字節串: import qualified Data.ByteString as B 我可以從字節串庫例如爲: reverseBS :: Monad m => Conduit B.ByteString m B.ByteString reverseBS = CL.map B.reverse 這工作按預期調用各項功能。 我需要一個函數從By

    2熱度

    1回答

    我正在開發一個程序,我需要從USB連接解析數據並將其寫入循環緩衝區。 我一直遇到的問題是解析器沒有使用輸入。我是否需要使用另一個操作員將解析器管道連接到ByteString s流? 如果我刪除了兩個'過濾器'dropC和dropWhileC,解析器會消耗一些輸入,但會失敗,因爲前幾個數據塊是垃圾。不知何故(我從來沒有用過它)顯然我的心理模型是如何運作的。 我也想知道空字符串是否被conduitPa

    0熱度

    1回答

    我的代碼如下。看起來數據以隨機順序輸出,這很有意義,因爲NamedRecord只是一個Map。有沒有辦法強制執行特定的命令? 我認爲一種選擇是創建Conduit (Named a) m (Row Text)類型的管道,但它似乎是一個常見的用例,標準應該已經存在。 processor :: Monad m => Conduit (Named FalconRow) m (Named HefRow)

    1熱度

    1回答

    對於如何將csv-conduit與自定義數據類型一起使用,我感到非常困惑。我想利用股票數據的一排像這樣: Date,Open,High,Low,Close,Volume,Adj Close 2017-02-10,2312.27002,2319.22998,2311.100098,2316.100098,3475020000,2316.100098 ,並解析到StockInfo類型我在下面MW

    0熱度

    1回答

    我正在創建一個將讀取二進制文件的Conduit。東西可能會出錯,所以我需要一個monad來處理一些錯誤;現在Maybe已經足夠了。 我想使用sourceFile,它要求管道monad是MonadResource,這是問題的關鍵。 我從the docs看到,例如, MaybeT m有一個實例,但它需要m已經是MonadResource;事實上,所有情況都是如此。由於我的理解有限,這聽起來像雞與雞蛋,

    4熱度

    1回答

    在reddit上有一個存檔的線程,它說本質上管道/管道不能是箭頭b/c箭頭需要同步。此處鏈接的線程爲https://www.reddit.com/r/haskell/comments/rq1q5/conduitssinks_and_refactoring_arrows/ 我無法看到「同步」在哪裏,因爲這不是箭頭定義的一部分。另外,我偶然發現了github https://github.com/cm

    6熱度

    2回答

    我明白「。」 (點)作爲功能組成。我明白「|」 (管道)作爲「或」,警衛介紹語法(從here),但我saw an answer on http-conduits using ".|",使用這個操作符以我不明白的方式。 我已經找到了管道的其他參考資料,如: https://docs.google.com/presentation/d/1RBefOCZ7AKOo4f1yiF4mtKPAT3l5vY9k

    0熱度

    1回答

    #!/usr/bin/env stack {- stack --install-ghc --resolver lts-8.8 runghc -} import System.IO import System.Process main = createProcess (proc "ls" []) 雖然stdout被哈斯克爾視爲一個tty,如hIsTerminalDevice stdo