在utop中加载具有依赖项的模块

时间:2017-10-24 16:57:43

标签: ocaml utop

我有两个模块A.mlB.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.mlB现在Error: Unbound type constructor t Select My_Key, STRING_1 AS String_1, String_2 AS String_2 from my_table git pull失败。

1 个答案:

答案 0 :(得分:3)

你必须首先编译a.ml:

  ocamlc -c a.ml  // yields a.cmo

在utop中:

  #load "a.cmo";;
  #use "b.ml";;