我是Ocaml的新手,剛剛用emacs,merlin和flycheck設置了我的開發環境。除了一件事情之外,一切都會或多或少地發揮作用:merlin似乎無法識別同一項目中模塊之間的依賴關係。Merlin抱怨同一個項目中缺少一個模塊
例如我有兩個模塊的測試項目:main.ml和awesome.ml。
這裏是我的main.ml它引用的第二模塊awesome.ml
(* main.ml *)
open Core
module A = Awesome
let _ =
Printf.printf "hello \n Converted to string we get: %s\n"
(A.str_of_t (A.succ A.one_t));
這裏是awesome.ml:
(* awesome.ml *)
type t = int
let one_t = 1
let succ i = i + 1
let str_of_t = string_of_int
當我發送main.ml緩衝,以評估爲UTOP與utop-eval-buffer函數,我得到一個錯誤:「Error:Unbound module Awesome」
我有.merlin在有S指令的項目的根目錄下。 我知道它是由梅林發現,因爲它不抱怨「開核」
S src
PKG core lwt ounit
B _build/src
B +threads
這裏是我的_tags:
<src/**>: include
<src/**>: package(oUnit), package(core)
true:thread
與ocamlbuild經常項目編制工作正常,沒有錯誤。 這裏是Makefile中
## Makefile
default: main
main: main.native
test: test.native
%.native:
ocamlbuild -use-ocamlfind [email protected]
mv [email protected] $*
.PHONY: test default
爲什麼真棒模塊沒有UTOP承認或這是預期的行爲的任何想法?
不,我不知道;我不抱怨 – Merlin