conduit

    1熱度

    1回答

    這可能是一個很不明顯的例子,但請耐心等待。 我正在寫一個網絡爬蟲,需要下載網頁並將它們保存到本地磁盤。同時,作爲一個爬蟲,它需要在每個頁面上找到超鏈接並下載這些鏈接的頁面。 現在我正在查看this page上給出的第一個示例代碼。我試着寫這種類型的管道: processLink :: Conduit S.ByteString IO S.ByteString ,然後我將取代這一行中的示例代碼:

    2熱度

    1回答

    我試圖使用network-conduit作爲(修補)HaskellNet的IMAP的後端。我如何強制導管沖洗流?這是一個required operation,但在網絡管道中似乎沒有這種東西。

    0熱度

    1回答

    我試圖用network-conduit作爲後端(修補)HaskellNet的IMAP。 required operations之一是檢測流是否打開。目前我正在使用 isOpen :: (Monad m) => ConduitM i o m Bool isOpen = await >>= maybe (return False) ((True <$) . leftover) 這是正確的,還是有

    5熱度

    1回答

    我寫了一個程序來計算語料庫中NGrams的頻率。我已經有消耗記號流,併產生一個單一訂單的n元語法功能: ngram :: Monad m => Int -> Conduit t m [t] trigrams = ngram 3 countFreq :: (Ord t, Monad m) => Consumer [t] m (Map [t] Int) 目前我只能一個流的消費者連接到流源: t

    1熱度

    1回答

    考慮利用鏡頭,管道和單子,循環以下Haskell代碼: type Broadcast = Int type BroadcastChan = TChan Broadcast data SessionState = SessionState { _broadcastChan :: BroadcastChan } makeLenses ''SessionState ty

    28熱度

    1回答

    我想了解這個概念,以便我能夠理解和使用庫,如machines。 我試圖按照Rúnar Bjarnason's talk on machines,但是信息太少,基本上只是一堆數據類型。我甚至無法理解什麼k是 newtype Machine k o = Step k o (Machine k o) data Step k o r = Stop | Yield o r

    12熱度

    1回答

    入門conduit,我注意到,在Data.Conduit.Util:從舊版本的管道 實用功能。這些應該被視爲棄用,因爲現在有更簡單的方法來處理它們的用例。該模塊僅用於向後兼容。 我特別關心的是zip :: Monad m => Source m a -> Source m b -> Source m (a, b)。這對我來說似乎非常有用 - 我可以獨立工作,生產a和生產b的方式,然後只需要zip將

    3熱度

    1回答

    我承認我並不真正瞭解導管很好,因爲我的Haskell知識有限。所以,如果有人能夠指導我如何完成這項任務,那麼我很感激:我想要輸出一個rawQuery動作並將其存儲在一個變量中,然後我可以在我的Hamlet文件中再次使用它。例如: let sql = "SELECT sum(value) as total, category FROM person GROUP BY category ORDER B

    64熱度

    1回答

    在我的GHC Haskell應用程序利用stm,網絡管道和管道,我有一個分支爲每個插座使用runTCPServer自動分叉。股可以通過使用廣播TChan與其他股溝通。 這展示了我如何想建立管道「產業鏈」: 所以,我們這裏有什麼是兩個來源(每個綁定到輔助管道)產生一個Packet對象其中encoder將接受並轉爲ByteString,然後發送出套接字。對於兩種投入的有效融合(性能是一個問題),我遇到

    1熱度

    1回答

    對於一種網絡協議,我需要能夠靈活地從Source m ByteString中讀取不同種類的塊。有lines組合器,它將輸入拆分爲行,但我需要能夠組合讀取行和固定數量的字節。 我目前的做法是,創建一個輔助函數: |摺疊輸入的給定功能。函數返回時重複Left 並將其結果累積在列表中。當函數返回Right, 連接累計結果(包括最後一個)並返回它時, 存儲使用leftover剩下的內容。如果沒有輸入是 可