2012-04-18 83 views
5

下面是一個例子接口test.mli,與ocamldoc風格的註釋說:爲什麼ocamldoc在未綁定的模塊上失敗?

(** ocamldoc module comment *) 
open MissingModule;; 
(** ocamldoc function comment *) 
val test : unit;; 

如果我運行命令ocamldoc test.mli,我得到以下錯誤:

File "test.mli", line 2, characters 0-9: 
Error: Unbound module MissingModule 
1 error(s) encountered 

爲什麼一個文檔生成關心未綁定的模塊?

回答

6

這是因爲ocamldoc完全限定類型名稱。該文件:

open MissingModule 

val f: foo -> unit 

被轉換爲

val f: MissingModule.foo -> unit 

而且MissingModule.foo成爲一個很好的交叉引用在MissingModule所述的foo定義(如果missingModule.mli被給定爲參數ocamldoc)。

而要完成答案,爲了完全限定類型標識符,您需要鍵入正在處理的文件。因此ocamldoc需要能夠訪問相應的.cmi文件。

相關問題