问题标签 [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.
ocaml - utop 支持哪些顶级指令?
我找不到任何关于我可以在 utop 中使用哪些顶级指令的文档。我所能找到的只是默认 ocaml 顶层支持的指令列表,但该列表对于 utop 似乎并不完整,并且缺少诸如 utop 之类#typeof
的内容,我知道这些内容在 utop 中有效。
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
autocomplete - utop 中的自动补全
对于新手问题,我很抱歉,但我刚从 OCaml 开始,我找不到如何使用 utop 自动完成功能。
当我开始在 utop 中输入内容时,我会在 shell 底部看到一个选项列表。如果只有一个有效选项,按 TAB 将自动完成我正在写的内容。但是,如果有多个有效的选择,并且我找到了我想要的那个,我还没有找到选择它的方法(除了继续写)。
例如(假设我已经导入Core.Std
)我输入
第一个建议是Float.of_float
,第二个是Float.of_int
。如何选择第二个?
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 模块或者这是预期的行为?
ocaml - ocaml:utop,有没有办法列出模块的所有功能?
在 utop 中,当打开一个库(通过 ~require ...)或打开一个模块(通过打开 Module_name)时,有没有办法获取库或模块的内容?utop 通过完成选项卡提供此功能,但我想一次查看所有功能。
ocaml - 在 ml 文件中嵌入顶级指令
我可能以错误的方式思考顶级。作为项目的一部分,维护顶级指令集合的首选方式是什么?
有没有办法在 OCaml 源文件中包含顶级指令#install_printer
,以便在编译程序时忽略它们但在运行时由顶级执行?
理想情况下,即使指令本身被忽略,我也希望在编译程序时对指令进行类型检查,例如
ocaml - 从 stdin\file 读取时的 OCaml 字符串长度限制
作为我在大学学习的编译器原理课程的一部分,我们正在编写一个在 OCaml 中实现的编译器,它将 Scheme 代码编译成类似 CISC 的程序集(只是 C 宏)。编译器的基本操作是这样的:
- 读取
*.scm
文件并将其转换为 OCamlstring
。 - 解析字符串并执行各种分析。
- 在语义分析器的 AST 输出上运行代码生成器,将文本输出到
*.c
文件中。 - 使用 GCC 编译该文件并在终端中运行它。
好吧,一切都很好,除了这个:我正在尝试读取一个输入文件,它大约有 4000 行长,基本上是一个混合了 Scheme if
&的巨大表达式and
。我正在通过utop
. 当我尝试读取输入文件时,我立即收到堆栈溢出错误消息。我最初的猜测是该文件对于 OCaml 来说太大了,无法处理,但我找不到任何支持该理论的文档。
有什么建议么?
emacs - utop 错误:没有这样的包:sexplib.syntax - `core.syntax' 需要
我正在尝试按照此处的Real World Ocaml说明设置 emacs ocaml 环境,但是当我启动 utop 时出现错误:
如果我运行:ocamlfind list | grep sexp
从命令行我得到:
在我的新手眼中,这表明 sexplib.syntax 不存在。
有谁知道如何解决这一问题 ?
ocaml - 标准 .ocamlinit 配置
我以为我设置正确,就像在 realworldocaml 上解释的那样,但是当我尝试这样做时
我明白了
未绑定模块核心
我认为这与 .ocamlinit 有关,但我不知道我还应该从中添加/删除什么。
我真的不明白该尝试是否应该是文件中的第一件事(但我尝试了两个版本并且结果相同)。我在这里想念什么?
我查看了这个问题,但我的情况并非如此(我没有得到所有这些错误,只有 Unbound 模块一个)。