问题标签 [utop]

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

ocaml - OCaml的utop:导入外部模块

我有兴趣将Angstrom,一个解析组合器库引入我的一个项目。

我将 Angstrom 安装到我的系统中opam,如下所示:

我还参考有问题的模块使用以下方法成功编译了项目ocamlfind

令人惊讶的是,我无法将 Angstrom 导入utoprepl。类似的命令#open Angstrom指示绑定到模块名称的值。我已经从 repl 中搜索了模块导入的文档,但我没有找到我正在寻找的结果。

从中引用外部模块的最佳方法是utop什么?

0 投票
0 回答
58 浏览

ocaml - 为什么utop会闪烁?

闪光

在 utop(在 osx 上)中,黄色欢迎消息周围的黑色边框和每个命令之间的红线闪烁。

我以为它可能会告诉我更新某些内容,但我找不到任何消息。

有没有办法关闭它?还是它想告诉我什么?

闪退

0 投票
2 回答
508 浏览

ocaml - ocaml中float的绝对值

当我使用 functionabs_float时,Merlin(在 emacs 中运行)告诉我:

Warning 3: deprecated: Core.Std.abs_float [since 2014-10] Use [Float]

(不过,代码仍然可以编译。)这是想告诉我什么?我尝试过 Float.abs 和类似的变体但没有成功。当我尝试在 utop 中时,我得到#require "Float"了错误。open FloatNo such packageunbound module

我知道自己编写一个绝对值函数是微不足道的,但我仍然有兴趣知道如何以“正确”的方式做到这一点。

0 投票
1 回答
417 浏览

ocaml - 将 utop 与本地 ocaml 构建一起使用?

我已经编译了 ocaml 4.04.0 的自定义版本(其他人编写的)。我可以使用 rlwrap 和 ledit 运行它并与之交互,但我宁愿使用 utop 运行它。(我不需要自动完成;命令编辑在 utop 中比在 rlwrap 或 ledit 中更好。)

默认情况下,utop 显然依赖于 opam,因为它运行使用opam switch. 但是,我很难找到任何关于 utop 和 opam 之间关系的文档,或者关于如何让 utop 运行 opam 尚未设置的 ocaml 版本的文档。 man utop, opam --help, 和重复的网络搜索一无所获。虽然这似乎是个坏主意,但我尝试用自定义可执行文件简单地替换 .opam/4.04.0/bin 中的文件 ocaml,但是内置到可执行文件中的额外包当时不可用,所以我猜测什么 utop运行显然是错误的。我尝试使用自定义 ocaml 文件作为参数运行 utop:utop ./ocaml. 根据 utop 手册页,我认为这不起作用,但事实并非如此。下一步似乎是阅读 utop 源代码,但作为 ocaml 的新手,我不愿意进行这种潜水,而且似乎没有必要。

如何使用自己的 ocaml 可执行文件运行 utop?

0 投票
1 回答
374 浏览

ocaml - 尝试在 Fedora 26 中为 OCaml 安装 utop;安装 LWT 时出错

我目前安装了 Fedora 26,并且安装了以下软件包:

sudo dnf install opam ocaml gcc gcc-c++ m4 make ocamldoc sqlite-devel libcurl-devel fuse-devel zlib-devel ocaml-camlp4-devel redhat-rpm-config

这是我目前尝试安装 utop 时遇到的错误:

我应该怎么办?

谢谢!

0 投票
1 回答
171 浏览

ocaml - 更改顶部输出宽度

当显示长列表和其他大值时,utop 将它们包装在大约 80 列,即使我的终端窗口更宽。如何更改输出宽度?

我发现唯一可能提供解决方案的是UTop.size,它具有 type LTerm_geom.size React.signal,并且似乎正确记录了我的终端窗口的大小。在此示例中,我的终端窗口的尺寸为 164x37:

但是, 的值cols似乎不会影响值的显示方式。例如,这是从同一会话中复制的(显示时带有换行符):

0 投票
1 回答
429 浏览

ocaml - 测试是否在 utop 中运行

我在其中添加了几行,.ocamlinit以使 utop 提示不那么碍眼:

(我不明白那里发生的一切......我只是发现它在网上发布并进行了调整。)

但是现在如果我使用常规的ocaml顶层,我会得到:

.ocamlinit除非我正在运行 utop,否则我可以添加测试以跳过这些行吗?我可以将它们放在仅由 utop 加载的附加文件中吗?

0 投票
1 回答
617 浏览

ocaml - 在 utop 中很好地打印值

Haskellghci可以很好地打印属于实现Showtypeclass 的类型的任何值。OCaml 中是否有任何等价物可以utop很好地自动打印用户定义类型的值?输入x |> M.to_string每一行都相当乏味……</p>

0 投票
1 回答
818 浏览

ocaml - OPAM 和 OCaml 安装

我在设置 OCaml 环境时遇到了一些问题,我正在关注此页面:

https://github.com/realworldocaml/book/wiki/Installation-Instructions

但是,我遇到了一些我无法解决的问题。我在 macOS 10.12.5 上并且正在使用 zsh。

Brew 安装 opam 时没有错误或警告。我相信我的问题在于环境变量(??)不同步。以下是我运行一些建议的命令时的一些输出:

opam开关:

评估“opam 配置环境”:

opam 安装基础:

出于问题的目的,我展示了我安装基础的尝试,但最终想安装核心、utop、绿洲等......非常感谢任何帮助!

编辑:当我应该使用反引号(`)时,我使用了撇号(')。我想一个没有经验的shell用户的证据......

0 投票
1 回答
1465 浏览

ocaml - 如何在 utop 中重新加载 OCaml 模块

是否可以在 OCaml 的utop中重新加载模块?

在使用 OCaml 代码时,我的开发工作流程是这样的:

首先,在 Vim 中打开一个文件example.ml并破解它。切换到另一个终端并运行utop. 从内部utop,使用指令加载代码#use "example.ml";;

回到 Vim 并在代码中进行一些更改。更改代码后,我想尝试新的更改。返回utop并重新运行指令#use "example.ml"

如果有一个 #reload指令可以重新加载所有以前加载的模块,那就太好了,但似乎没有。 有什么方法可以轻松地重新加载所有以前加载的模块?

理想情况下,这将类似于 GHCi 的:reload命令。