问题标签 [ocaml-lwt]

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 回答
73 浏览

ocaml - 将 lwt.t 代码放入 Ocaml 中用于 mirage os 的无限循环

我有以下从mirageOS github repo修改的代码块:

此代码从名为“secret”的文件中读取数据并输出一次。我想不断地读取文件并从中输出,并在两者之间进行睡眠。

用例是这样的:当这个程序运行时,我会secret用其他进程更新文件,所以我想看看输出的变化。

我试过什么?

我试图将最后一条语句放在 while 循环中

但它给出了错误This expression has type unit Lwt.t but an expression was expected to type unit 因为它位于 while 循环的主体中

我只知道 lwt 是一个线程库,但我不是 ocaml 开发人员,也不想成为其中的一员,(我对 MirageOS 很感兴趣),所以我找不到编写它的函数语法。

0 投票
1 回答
78 浏览

ocaml - 如何同步执行 Lwt 线程

有什么方法可以同步执行用 Lwt 库制作的线程?

具体来说,我正在尝试向服务器运行一系列发布请求,以计算一些值并返回结果。

根据提供给这个问题的答案:

如何在 OCaml 中发出简单的 GET 请求?

我可以使用低级方法(套接字)或使用 Cohttp 库来实现。低级方法的优点是直接和直接,但我宁愿坚持使用 Cohttp(不需要读/写循环等)。不幸的是,我对 Lwt 完全陌生,并且基于: https ://mirage.io/wiki/tutorial-lwt 我知道从 to 获得结果的唯一方法a ta运行Lwt_main.run它应该在顶层调用,即不是我的选择。

TL:博士

有什么办法可以得到结果:

Client.get (Uri.of_string "http://localhost:8080/res")

不调用Lwt_main.run或调用Lwt_main.run每个请求(代码深处)不是那么坏的主意吗?

0 投票
1 回答
88 浏览

ocaml - OCaml - 执行 Lwt 线程的 Parmap 挂起执行

这是对这个问题的跟进: 如何同步执行 Lwt 线程

我正在尝试运行以下代码:

我预计这将执行 10 个远程连接。在进行实际远程调用之前,我得到的是par函数似乎卡住了。Lwt_main.run

我怀疑它可能有什么意义,但假设响应的服务器是用 python 制作的,看起来像这样:

0 投票
1 回答
49 浏览

opam - 使用 OPAM 安装 LWT 失败

在 Ubuntu 上使用 OPAM 安装 LWT 失败

服务器信息 -

发行商 ID:Ubuntu,描述:Ubuntu 18.04.4,LTS 版本:18.04,
代号:bionic

我遵循的步骤 -

我得到的错误 -

=-=- 报错-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=-=-=-=-=-=-=

我什至尝试过opam depext conf-m4.1但没有帮助。