问题标签 [conduit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

networking - 管道 - 多次“尝试”到一个来源

我正在尝试执行以下操作:

如您所见,我正在尝试Producer根据原语创建 a withConnectionForever。该原语的类型为:

可以想象,我在编译时收到一条错误消息!这是:

现在,我知道调用的类型withConnectionForever显然不是一个管道,但我希望它可以成为一个管道,因为管道也是一个单子并且withConnectionForever使用自由单子而不是硬编码一。我对消息试图传达的内容的理解是,这并没有发生,我想知道为什么以及我能做些什么。

为了完整起见,这里是原语的来源:

我真的不想重写原语,除非它可以以微创方式完成,但我想那是在桌面上。

提前致谢!

0 投票
2 回答
358 浏览

haskell - 重复使用导管是否安全?

使用相同的管道值执行多个操作是否安全?就像是

我记得在导管的早期版本中,有一些肮脏的黑客行为使其不安全。目前的状态是什么?

(请注意,sinkSocket这不会关闭套接字。)

0 投票
1 回答
731 浏览

parsing - Haskell:用二进制文件懒惰地读取二进制文件

我正在尝试读取二进制文件并使用“二进制”包懒惰地解析它。包文档提供了一个示例,说明如何在不强制输入与我的非常相似的场景的所有输入的情况下执行此操作:

但是,这使用了已弃用的runGetState功能,该功能本身将您指向runGetIncremental函数。

问题是“runGetIncremental”函数似乎强制剩余的输入是严格的字节串,从而强制它将整个文件加载到内存中。事实上,当我尝试运行它时,我看到大约 6GB 的内存使用量。甚至runGetStatenow 的实现似乎也是基于runGetIncremental然后使用chunk.

我可以得到教程中描述的行为,还是现在二进制不支持?如果是后者,最好的方法是什么?我有一点使用导管的经验,但我不清楚如何在这里使用它。

0 投票
0 回答
273 浏览

haskell - 无法在 Windows 上安装导管

在 32 位 Windows 7 机器上安装导管时遇到问题。我不熟悉 Share.h。我在这里缺少什么 Windows C 库?

0 投票
1 回答
424 浏览

networking - Http-Conduit 频繁连接失败

我正在编写将通过 HTTP 下载一些文件的应用程序。到目前为止,我一直在使用以下代码片段来下载页面正文:

它工作正常,但无法通过 HTTPS 协议建立连接。所以为了解决这个问题,我已经切换到 HTTP-Conduit,现在我正在使用以下代码:

它可以连接到 HTTPS,但出现了新的令人沮丧的问题。大约每五次连接失败,但有例外:

我确信这是 HTTP-Conduit 问题,因为 network.HTTP 在同一组页面(不包括 https 页面)上运行良好。

有没有人遇到过这样的问题并且知道解决方案或更好的解决方案(而且很简单,因为这是一个简单的任务,不应该花费超过几行代码)替代 Conduit 库?

0 投票
0 回答
266 浏览

haskell - Missing instances for ResourceT in conduit

I'm getting a strange error when trying to use ResourceT from conduit 1.0.9.1. I'm missing instances from the documentation. For example

fails with No instance for (MonadTrans ResourceT) arising from a use of lift, although there are many instances in the docs, including MonadTrans ResourceT. Checking REPL confirms the problem:

This seems like some stupid mistake on my side, but I can't figure it out. Where are the missing instances?

0 投票
3 回答
699 浏览

haskell - 使用 Haskell 的 zip-conduit 从 zip 存档中的文件中读取行

正如标题所说,我希望能够使用 zip-conduit 从 zip 存档中的文件中读取行(我正在处理的 zip 文件非常大,所以我需要能够做到这在不断的记忆中)。我理解了管道的基本概念,但从未在愤怒中使用过它们,并且对于从哪里开始感到很困惑。我已经阅读了管道教程,但我无法将其与我的问题相匹配。

zip-conduit 文档说可以通过以下方式从 zip 存档中获取资源:

我想我需要做的是写一些东西来代替CB.sinkFile. Data.Conduit.Text有一个lines功能——它可以以某种方式从文件中取出行吗?

我真的很感激一个简单的例子,比如说使用putStrLn写出一个简单的文本文件的行,该文件被归档在一个 zip 文件中。提前致谢。

0 投票
2 回答
182 浏览

xml - 从非规范化的 xml 中获取 Cursor 的内容

假设有xml文件:

问题是如何"This Value!"摆脱这个xml。

这就是我所拥有的:(

  1. 为什么有3个答案?什么查询<span class="user-hover">将更精确地定义标签内的内容?
  2. 如何自动删除空格缩进和换行符?

UPD:换句话说,问题是如何删除所有嵌套标签(不管有多少)并获取第一级内容,即"This Value!"(以及空格和换行符)。

0 投票
1 回答
133 浏览

http - 在 Haskell 中学习管道时对 MonadBaseControl 错误感到困惑

我正在尝试去了解 Haskell 中的导管。这听起来很有趣,但是类型很快变得非常混乱。

到目前为止,我已经编写了以下文件:https ://gist.github.com/anonymous/7991727

据推测,它会做的是,给定一系列股票代码,它会去雅虎财经并下载相关的数据文件。听起来很简单。

getLink效果extractLink很好。那里没有问题。

downloadContent给我各种编译问题。这个源代码:

我得到的确切错误是:

这里有什么见解可以让我完成代码的意图?

0 投票
1 回答
136 浏览

haskell - 使用 ResourceT 时需要提升的说明

我正试图弄清楚 Conduits 是如何工作的,并且正陷入所涉及的 monads 和 transformers 中。

我将一些示例代码归结为以下内容,它有效:

我不明白为什么我需要在lift里面downloadContent为什么我需要lift在上面的代码中使用?我什么地方搬来搬去如果我看签名:

这并不能真正帮助我理解正在发生的事情。