conduit

    5熱度

    1回答

    我正在試驗導管包。其還發現了網絡的管道包,我試圖讓該發送文件的內容到一個套接字簡單的TCP客戶端: import Data.Conduit import Data.Conduit.Binary import Data.Conduit.Network import Data.ByteString.Char8 (pack) sendFile fileName appData = runRes

    10熱度

    2回答

    我想了解管道概念的不同實現之間的差異。 導管和管道之間的區別之一是它們如何將管道熔合在一起。 管道有 (>+>) :: Monad m => Pipe l a b r0 m r1 -> Pipe Void b c r1 m r2 -> Pipe l a c r0 m r2 而管有 (>->) :: (Monad m, Proxy p) => (b' -> p a' a

    13熱度

    2回答

    我想了解管道和管道之間的差異。不像管,導管有剩飯的概念。什麼是剩菜有用?我希望看到一些例子,其中剩菜是必不可少的。 而且由於管道沒有剩菜的概念,有沒有什麼方法可以實現與他們類似的行爲?

    19熱度

    2回答

    在我看來,有兩個想法之間有很強的聯繫。我的猜測是,如果有一種方法可以用Iteratees表達任意圖,那麼FRP可以用迭代器來實現。但afaik他們只支持連鎖結構。 有人能提供一些線索對此有何看法?

    3熱度

    2回答

    要了解conduit庫的基礎知識,我用network-conduit做一個簡單的回顯服務器: import Control.Monad.IO.Class import qualified Data.ByteString.Char8 as BS import Data.Conduit import Data.Conduit.Network -- A conduit that print t

    11熱度

    1回答

    首先,我想要完成的任務的簡化版本:我有幾個大文件(總計30GB),我希望修剪重複條目。爲此,我建立了一個數據散列數據庫,並逐個打開這些文件,散列每個項目,並將其記錄在數據庫和輸出文件中(如果散列不在數據庫中)。 我知道如何用iteratees和枚舉器來做到這一點,我想試試管道。我也知道如何用管道做到這一點,但現在我想用管道&執行。我遇到了各種類型的問題,可能還有ResourceT的整個概念。 下面

    0熱度

    1回答

    我正在嘗試調試在管道工具欄上運行的JavaScript編寫的腳本。現在我使用的簡單 window.alert("function x is working"); 但這是許多警報的情況非常令人不安的劇本逐漸變大。我寧願寫日誌和調試消息到螢火蟲或Chrome瀏覽器的控制檯,使用: console.log("function x is working"); ,因爲這是更合理的,但是這個代碼有當這

    3熱度

    1回答

    我有這樣的管道表達它的工作原理: main1 = runResourceT $ CB.sourceHandle stdin $$ CB.lines =$ Cl.concatMap matches =$ Cl.mapMaybe readDouble =$ Cl.map fst =$ Cl.map bucket =$

    8熱度

    2回答

    我在Haskell中編寫了一個守護進程,每5分鐘從網頁中抓取信息。 該守護程序原本運行良好約50分鐘,但隨後意外死亡與out of memory (requested 1048576 bytes)。每次我跑它都會在相同的時間後死亡。將它設置爲僅睡30秒,而不是在8分鐘後死亡。 我意識到網頁的內存代碼效率非常低(從睡眠時的30M到睡眠時的大約30M,而解析9M的html時),所以我重寫了它,現在它在

    3熱度

    2回答

    我在想Haskell中的列表,並且我認爲在其他語言中,一個不使用列表的一切。當然,如果你以後需要這些值,你可能想要存儲一個列表,但是如果它只是一次性的,比如從[1..n]開始迭代,爲什麼使用一個列表,其中真正需要的變量是一個增加的變量? 我還閱讀了關於「列表融合」的內容,並指出儘管Haskell編譯器試圖實現這種優化以消除中間列表,但它們往往不成功,導致垃圾收集器不得不清理僅被使用一次的列表。 另