我正在尝试将父目录中的模块加载到顶级解释器中。
#load "../Syntax.cmo";;
open Syntax
let foo = bar
bar在语法中。我在父目录中有模块语法。加载模块语法不会导致任何问题,但是打开行会抛出错误:
Error: Unbound module Syntax
我也尝试删除open:
#load "../Syntax.cmo";;
let foo = Syntax.bar
但是这给了我与语法在父目录中相同的错误。
到底有没有?
答案 0 :(得分:1)
您不应使用相对路径,而应使用#directory
指令:
#directory "..";;
#load "Syntax.cmo";;
let foo = Syntax.bar;;
更好的是,使用oasis或其他一些高级工具定义您的库,并使用#require
加载您的库,而不是使用低级指令处理。