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

时间:2017-09-04 06:59:40

标签: ocaml utop

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

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

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

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

如果有#reload指令可以重新加载以前加载的所有模块,那将会很好,但似乎并不存在。 有没有办法轻松重新加载以前加载的所有模块?

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

1 个答案:

答案 0 :(得分:0)

在提出这个问题时,我相信 dune 还没有成为 OCaml 的构建系统。使用 dune,您可以通过执行以下操作简单地启动一个加载了本地定义库的 utop 实例(如 here 所述):

$ dune utop <dir> -- <args>
<块引用>

dune 将搜索的目录在哪里(递归) 对于将要加载的所有库