在本地init中包含全局.ocamlinit

时间:2019-09-12 14:19:50

标签: configuration ocaml toplevel

例如,当有项目本地的.ocamlinit时,我想包含我的全局〜/ .ocamlinit文件。在本地目录中,因为我要做的事情是在〜/ .ocamlinit中设置我的utop历史记录文件名。

为此,我尝试了

#use (Filename.concat (Sys.getenv "HOME") ".ocamlinit");;

当然那是行不通的,所以我看了toplevel directives,但它们似乎都带有字符串参数。如何做到最好?

我想,更笼统地说,问题是如何将非常量传递给顶级指令(不确定是否在评估任何代码之前对指令进行了预处理)。

1 个答案:

答案 0 :(得分:1)

您可以使用compiler-libs软件包提供的编程接口。例如,

Topdirs.dir_use Format.err_formatter (Filename.concat (Sys.getenv "HOME") ".ocamlinit")

应无需任何依赖即可工作。