问题标签 [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 回答
498 浏览

ocaml - utop 支持哪些顶级指令?

我找不到任何关于我可以在 utop 中使用哪些顶级指令的文档。我所能找到的只是默认 ocaml 顶层支持的指令列表,但该列表对于 utop 似乎并不完整,并且缺少诸如 utop 之类#typeof的内容,我知道这些内容在 utop 中有效。

0 投票
1 回答
1686 浏览

emacs - 在 Mac OS 上使用 tuareg (OCaml) 将 utop 与 emacs 集成

我正在尝试学习 OCaml,并安装环境。我正在使用:https ://github.com/realworldocaml/book/wiki/Installation-Instructions

我真的处于最后一步 [Editors, Emacs] 并且无法让 tuareg 工作。我下载了 .tar 文件,并将所有内容复制并粘贴到我的主目录中的 .emacs 文件中。当我运行 emacs 和 Mx 到 utop 时,它给了我

Symbol 的函数定义为 void:split-string-and-unquote

但是,它在我的控制台中显示 tuareg-abbrev,所以并不是没有安装 tuareg

0 投票
1 回答
1981 浏览

autocomplete - utop 中的自动补全

对于新手问题,我很抱歉,但我刚从 OCaml 开始,我找不到如何使用 utop 自动完成功能。

当我开始在 utop 中输入内容时,我会在 shell 底部看到一个选项列表。如果只有一个有效选项,按 TAB 将自动完成我正在写的内容。但是,如果有多个有效的选择,并且我找到了我想要的那个,我还没有找到选择它的方法(除了继续写)。

例如(假设我已经导入Core.Std)我输入

第一个建议是Float.of_float,第二个是Float.of_int。如何选择第二个?

0 投票
1 回答
604 浏览

ocaml - 在utop中用camlp5替换camlp4

我正在使用需要camlp5的 OCaml 代码;但是,顶层(我使用的是utop)会自动加载更新的、不兼容的camlp4。这些是启动消息:

即时通讯使用.ocamlinit看起来像这样:

我安装camlp5opam它,它在我发出时出现ocamlfind list;该文件camlp5.cma也位于/home/<username>/.opam/4.02.1/lib/camlp5/camlp5.cma. 但是尝试加载camlp5ocamlp5r失败Unknown directive camlp5o

我如何utop知道camlp5以及如何替换camlp4camlp5默认预处理器?

提前谢谢了!

0 投票
3 回答
5304 浏览

emacs - Merlin 抱怨同一个项目中缺少一个模块

我是 Ocaml 的新手,只是用 emacs、merlin 和 flycheck 设置我的开发环境。除了一件事之外,一切都或多或少可以预期:merlin 似乎无法识别同一项目中模块之间的依赖关系。

例如,我有一个包含两个模块的测试项目:main.ml 和 awesome.ml。

这是我的 main.ml,它引用了第二个模块 awesome.ml

这是awesome.ml:

当我发送 main.ml 缓冲区以使用 utop-eval-buffer 函数评估到 utop 时,我收到一个错误:“错误:未绑定模块真棒”

我在具有 S 指令的项目的根目录中有 .merlin。我知道它是 merlin 发现的,因为它不会抱怨“开放核心”

这是我的_tags:

使用 ocamlbuild 进行常规项目编译工作正常,没有错误。这是Makefile

任何想法为什么在 utop 中无法识别 Awesome 模块或者这是预期的行为?

0 投票
3 回答
2239 浏览

ocaml - ocaml:utop,有没有办法列出模块的所有功能?

在 utop 中,当打开一个库(通过 ~require ...)或打开一个模块(通过打开 Module_name)时,有没有办法获取库或模块的内容?utop 通过完成选项卡提供此功能,但我想一次查看所有功能。

0 投票
2 回答
181 浏览

ocaml - 在 ml 文件中嵌入顶级指令

我可能以错误的方式思考顶级。作为项目的一部分,维护顶级指令集合的首选方式是什么?

有没有办法在 OCaml 源文件中包含顶级指令#install_printer,以便在编译程序时忽略它们但在运行时由顶级执行?

理想情况下,即使指令本身被忽略,我也希望在编译程序时对指令进行类型检查,例如

0 投票
2 回答
737 浏览

ocaml - 从 stdin\file 读取时的 OCaml 字符串长度限制

作为我在大学学习的编译器原理课程的一部分,我们正在编写一个在 OCaml 中实现的编译器,它将 Scheme 代码编译成类似 CISC 的程序集(只是 C 宏)。编译器的基本操作是这样的:

  1. 读取*.scm文件并将其转换为 OCaml string
  2. 解析字符串并执行各种分析。
  3. 在语义分析器的 AST 输出上运行代码生成器,将文本输出到*.c文件中。
  4. 使用 GCC 编译该文件并在终端中运行它。

好吧,一切都很好,除了这个:我正在尝试读取一个输入文件,它大约有 4000 行长,基本上是一个混合了 Scheme if&的巨大表达式and。我正在通过utop. 当我尝试读取输入文件时,我立即收到堆栈溢出错误消息。我最初的猜测是该文件对于 OCaml 来说太大了,无法处理,但我找不到任何支持该理论的文档。

有什么建议么?

0 投票
3 回答
647 浏览

emacs - utop 错误:没有这样的包:sexplib.syntax - `core.syntax' 需要

我正在尝试按照此处的Real World Ocaml说明设置 emacs ocaml 环境,但是当我启动 utop 时出现错误:

如果我运行:ocamlfind list | grep sexp从命令行我得到:

在我的新手眼中,这表明 sexplib.syntax 不存在。

有谁知道如何解决这一问题 ?

0 投票
1 回答
567 浏览

ocaml - 标准 .ocamlinit 配置

我以为我设置正确,就像在 realworldocaml 上解释的那样,但是当我尝试这样做时

我明白了

未绑定模块核心

我认为这与 .ocamlinit 有关,但我不知道我还应该从中添加/删除什么。

我真的不明白该尝试是否应该是文件中的第一件事(但我尝试了两个版本并且结果相同)。我在这里想念什么?

我查看了这个问题,但我的情况并非如此(我没有得到所有这些错误,只有 Unbound 模块一个)。