OCaml:来自顶级父目录的未绑定模块

时间:2015-08-04 02:17:07

标签: module ocaml loading ocaml-toplevel

我正在尝试将父目录中的模块加载到顶级解释器中。

#load "../Syntax.cmo";;
open Syntax

let foo = bar

bar在语法中。我在父目录中有模块语法。加载模块语法不会导致任何问题,但是打开行会抛出错误:

Error: Unbound module Syntax

我也尝试删除open:

#load "../Syntax.cmo";;
let foo = Syntax.bar

但是这给了我与语法在父目录中相同的错误。

到底有没有?

1 个答案:

答案 0 :(得分:1)

您不应使用相对路径,而应使用#directory指令:

#directory "..";;
#load "Syntax.cmo";;
let foo = Syntax.bar;;

更好的是,使用oasis或其他一些高级工具定义您的库,并使用#require加载您的库,而不是使用低级指令处理。