odoc?odoc is a documentation generator for OCaml. It reads doc comments from your source files and your .mld files, and outputs HTML, LaTeX and man pages. The pages you are reading now are rendered using odoc.
Text inside doc comments (delimited by (** ... *)) is marked up in odoc syntax:
val float_dsig : int -> float t
(** [float_dsig d] rounds the normalized {e decimal} significand
of the float to the [d]th decimal fractional digit and formats
the result with ["%g"]. Ties are rounded towards positive
infinity. The result is NaN on infinities and only defined for
[0 <= d <= 16].
{b Warning.} The current implementation overflows on large [d]
and floats. *)These comments are picked up by odoc and turned into html, or TeX or manpages.
The syntax reference is a refinement of that explained in the OCaml manual. The differences are described here.
odoc's main advantages over OCamldoc are
t was in val f : A(M).t -> unit, odoc will link to it!M : Base.Applicative.S with type t := u, odoc will show you!For guidance on how to document your OCaml project, see odoc for authors.
To integrate odoc into your tool, webpage or any other setting, you'll need to understand how to drive odoc.
To start contributing to odoc, please see our contributors guide.
The main other pages of this site:
odoc_for_authors Odoc For Authorsfeatures Language Featuresdriver Reference Drivercontributing Contributingocamldoc_differences Differences from OCamldocdune Duneparent_child_spec Parent/Child specificationinterface Interface guarantees