我有两个模块A.ml
和B.ml
,如下所示:
A.ml
:
type t = int
let from_int (i : int) : t = i
B.ml
:
open A
let my_t : t = from_int 0
我可以通过调用ocamlc A.ml B.ml
来编译它们,但我不知道如何在utop
中加载它们以便以交互方式使用my_t
。使用:
utop -init B.ml
收益Error: Reference to undefined global 'A'
utop
后跟#use "A.ml";;
和#use "B.ml";;
会导致同样的错误open A
删除B.ml
会使#use
加倍ocamlc A.ml B.ml
,B
现在Error: Unbound type constructor t
Select My_Key, STRING_1 AS String_1, String_2 AS String_2 from my_table
git pull
失败。答案 0 :(得分:3)
你必须首先编译a.ml:
ocamlc -c a.ml // yields a.cmo
在utop中:
#load "a.cmo";;
#use "b.ml";;