如果我使用 tuareg-run-caml
函数在 Emacs/tuareg 中启动自定义顶层,我需要提供顶层的路径以及查找 CMI 文件所需的各种 -I
选项。这种打字很乏味,有没有更方便的方法来启动自定义顶层?
最佳答案
一种方法是在项目目录中添加一个 .ocamlinit
,该目录使用 #directory
将任何必要的路径添加到顶层。您还可以使用它来安装打印机、为常用模块添加较短的名称、运行测试代码等。
请注意,您可能希望该项目特定的 .ocamlinit
执行 ~/.ocamlinit
,因为像 opam 之类的东西往往会在那里放一些零碎的东西。它可能看起来像这样:
#use "/home/foo/.ocamlinit"
#directory "_build"
open Printf
module V = VeryLongModuleName
请注意,
#use
需要硬编码路径。不幸的是,这会干扰文件的分发。我通过使用 emacs 命令启动一个顶层来进一步自动化此操作,该顶层在当前目录中搜索名为
*.top
的文件以执行,如果没有找到则回退到 ocaml
。由于 ocamlbuild
提供了一种相当简单的方法来构建这些文件,这避免了将项目加载到可用顶层的大部分乏味。关于emacs - 使用 tuareg 在 Emacs 中启动自定义 OCaml 顶层的便捷方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26074195/