如何在utop中重新加载OCaml模块
是否可以在OCaml中重新加载模块 在使用OCaml代码时,我的开发工作流程是这样的: 首先,在Vim中打开一个文件如何在utop中重新加载OCaml模块,ocaml,utop,Ocaml,Utop,是否可以在OCaml中重新加载模块 在使用OCaml代码时,我的开发工作流程是这样的: 首先,在Vim中打开一个文件example.ml,并对其进行破解。切换到另一个终端并运行utop。从utop中,使用指令#use“example.ml”加载代码 返回Vim并对代码进行一些更改。在更改代码之后,我想尝试一下新的更改。返回到utop并重新运行指令#使用“example.ml” 如果有一个#reload指令可以重新加载以前加载的所有模块,那就太好了,但似乎没有是否有办法轻松重新加载以前加载的所有模
example.ml
,并对其进行破解。切换到另一个终端并运行utop
。从utop
中,使用指令#use“example.ml”加载代码代码>
返回Vim并对代码进行一些更改。在更改代码之后,我想尝试一下新的更改。返回到utop
并重新运行指令#使用“example.ml”
如果有一个#reload
指令可以重新加载以前加载的所有模块,那就太好了,但似乎没有是否有办法轻松重新加载以前加载的所有模块?
理想情况下,这将类似于GHCi的命令。在提出这个问题时,我相信它还没有成为OCaml的构建系统。使用dune,您只需通过以下操作启动一个加载了本地定义库的utop实例(如上所述):
$dune utop--
其中是dune将搜索的目录(递归)
对于将要加载的所有库
假设模块在两次运行之间没有变化。是否可以将对象文件传递给utop?例如,您有一个编译为tree.cma(或tree.cmo)的tree.ml文件,您可以使用命令行“utop tree.cma”加载tree模块吗。如果是这样,您只需使用正确的选项重新启动utop。默认情况下,它在emacs中可能没有那么好的效果代码>,上面写着:。。。Topfind.reset();;要强制重新加载包…