Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 导管和创建基于导管的库_Haskell_Conduit - Fatal编程技术网

Haskell 导管和创建基于导管的库

Haskell 导管和创建基于导管的库,haskell,conduit,Haskell,Conduit,我知道导管是一种解决流式数据问题的方法 在恒定内存中处理数据 我在hackage中看到很多库都附带了管道名称。 例如, 等等 那么,如何使一些普通的图书馆管道为基础呢?只需使用主 软件包,是否有资格提供流式数据解决方案 有问题吗 我试图挖掘csv管道的来源,但这是一种方式 太复杂了。(比完整的csv大很多 解析器在RWH手册中实现。)这实际上也使用了导管,所以它也处理恒定内存中的流数据吗?是的,主导管包几乎就是您需要启动的所有东西 其思想是在conducts中组织工作流。放入一些元素-将一些元素

我知道导管是一种解决流式数据问题的方法 在恒定内存中处理数据

我在hackage中看到很多库都附带了管道名称。 例如, 等等

那么,如何使一些普通的图书馆管道为基础呢?只需使用主 软件包,是否有资格提供流式数据解决方案 有问题吗

我试图挖掘csv管道的来源,但这是一种方式 太复杂了。(比完整的csv大很多
解析器在RWH手册中实现。)这实际上也使用了导管,所以它也处理恒定内存中的流数据吗?

是的,主导管包几乎就是您需要启动的所有东西

其思想是在
conduct
s中组织工作流。放入一些元素-将一些元素推出。在基本层面上,您只需使用
wait
yield
就可以走得很远。只需在单子中使用它们,如下所示:

idConduit =
  do mElt <- await
     case mElt of
       Nothing -> return ()
       Just element ->
         do yield element
            idConduit
idconduct=
是否返回熔融物()
只是元素->
do屈服元素
导管
然后将它们放在
Sink
Source
之间,就像
mySink$=myConduit1$=myConduit2$$mySource
一样,就完成了


如果您想用它们读取文件,也可以尝试
attoparsec-conduct

如果您还没有看到,我建议从开始。