在OCaml中,我可以创建具有相同名称的嵌套模块的模块。
module X = struct
module X = struct
let x = 42
end
end
我也可以用 ocamlc :
打包ocamlc -for-pack X -c X.ml
mkdir tmp
mv X.cmo tmp/X.cmo
mv X.cmi tmp/X.cmi
ocamlc -pack -o X.cmo t/X.cmo
但是当我尝试使用 ocamlopt 时,我有:
致命错误:异常堆栈溢出
make文件运行后。
如何使用 ocamlopt 将模块打包到具有相同名称的模块中?
答案 0 :(得分:1)
这是ocamlopt中的一个错误。请向上游报告。
如果将模块X打包到包X中是不允许的,那么编译器应该这样说。如果它被允许那么它应该工作。无论哪种方式,堆栈溢出都是一个错误。