是否可以在OCaml的utop中重新加载模块?
在使用OCaml代码时,我的开发工作流程就像这样:
首先,example.ml在Vim中打开一个文件并进行破解.切换到另一个终端并运行utop.从内部utop,使用指令加载代码#use "example.ml";;.
回到Vim并对代码进行一些更改.更改代码后,我想玩新的更改.返回utop并重新运行该指令#use "example.ml".
如果有一个#reload指令可以重新加载所有以前加载的模块,那将是很好的 ,但似乎没有. 有没有办法轻松重装所有以前加载的模块?
理想情况下,这与GHCi的:reload命令类似.
在提出这个问题时,我相信沙丘还没有将自己确立为OCaml 的构建系统。使用 dune,您可以通过执行以下操作简单地启动一个加载了本地定义的库的 utop 实例(如此处所述):
$ dune utop <dir> -- <args>
Run Code Online (Sandbox Code Playgroud)
沙丘将在哪个
<dir>目录下(递归地)搜索将加载的所有库