conduit

    6热度

    2回答

    我明白“。” (点)作为功能组成。我明白“|” (管道)作为“或”,警卫介绍语法(从here),但我saw an answer on http-conduits using ".|",使用这个操作符以我不明白的方式。 我已经找到了管道的其他参考资料,如: https://docs.google.com/presentation/d/1RBefOCZ7AKOo4f1yiF4mtKPAT3l5vY9k

    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回答

    #!/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

    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

    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

    2热度

    2回答

    如果我用下面的Source: sourceList [1,3,3,1,2,3] 是否有可能一些过滤器或组合子只适用于允许不同的值被传递到下游? 那么在我的例子中,只有[1,3,2]会传递到下游?