conduit

    64热度

    1回答

    在我的GHC Haskell应用程序利用stm,网络管道和管道,我有一个分支为每个插座使用runTCPServer自动分叉。股可以通过使用广播TChan与其他股沟通。 这展示了我如何想建立管道“产业链”: 所以,我们这里有什么是两个来源(每个绑定到辅助管道)产生一个Packet对象其中encoder将接受并转为ByteString,然后发送出套接字。对于两种投入的有效融合(性能是一个问题),我遇到

    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) 这是正确的,还是有

    1热度

    1回答

    对于一种网络协议,我需要能够灵活地从Source m ByteString中读取不同种类的块。有lines组合器,它将输入拆分为行,但我需要能够组合读取行和固定数量的字节。 我目前的做法是,创建一个辅助函数: |折叠输入的给定功能。函数返回时重复Left 并将其结果累积在列表中。当函数返回Right, 连接累计结果(包括最后一个)并返回它时, 存储使用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

    10热度

    1回答

    为什么这样简单的代码不工作? import Network.HTTP.Conduit import qualified Data.ByteString.Lazy as L main :: IO() main = simpleHttp "http://www.dir.bg/" >>= L.putStr 它导致以下错误: TestConduit.exe: InternalIOExcepti

    3热度

    1回答

    我承认我并不真正了解导管很好,因为我的Haskell知识有限。所以,如果有人能够指导我如何完成这项任务,那么我很感激:我想要输出一个rawQuery动作并将其存储在一个变量中,然后我可以在我的Hamlet文件中再次使用它。例如: let sql = "SELECT sum(value) as total, category FROM person GROUP BY category ORDER B