我有这样的a.ml:
module type ASig =
sig
val do_something : unit -> int;;
end ;;
module A:ASig =
struct
let do_something () = 1;;
let do_secrectly () = 2;;
end;;因此,对于我的模块A,接口应该仅为do_something()**.**
但是,如果我使用ocamldoc -html a.ml,虽然模块sig声明了接口,但是doc仍然公开模块A中的所有函数,如下所示:
module A: sig .. end
val do_something : unit -> int
val do_secrectly : unit -> int如何使用ocamldoc 使所有文档都基于 module sig**?**
发布于 2013-05-07 12:33:48
不幸的是,在当前ocamldoc的实现中,这是不可能的:它考虑了约束,但在纯粹的语法级别上,它只能在显式形式的sig ... end中使用它们,而不是引用现有的标识符(因为分析是在解析的语法树上进行的,而不是在类型化的树上进行的)。
你可以:
.mli和文档(如果您只提供.mli,则只记录其中的内容)(**/**)告诉ocamldoc在您希望保持私有的函数之前丢弃模块的其余部分、模块类型等等。https://stackoverflow.com/questions/16416169
复制相似问题