package doc-ock

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type kind = Kind.fragment
type sort = [
  1. | `Root
  2. | `Branch
]
type ('a, 'b, 'c) raw =
  1. | Root : ('a, 'b, [< sort Root ]) raw
  2. | Subst : 'a Path.Resolved.module_type * 'a module_ -> ('a, [< kind Module ] as 'b, [< sort Branch ] as 'c) raw
  3. | SubstAlias : 'a Path.Resolved.module_ * 'a module_ -> ('a, [< kind Module ] as 'b, [< sort Branch ] as 'c) raw
  4. | Module : 'a signature * string -> ('a, [< kind Module ], [< sort Branch ]) raw
  5. | Type : 'a signature * string -> ('a, [< kind Type ], [< sort Branch ]) raw
  6. | Class : 'a signature * string -> ('a, [< kind Class ], [< sort Branch ]) raw
  7. | ClassType : 'a signature * string -> ('a, [< kind ClassType ], [< sort Branch ]) raw
and ('a, 'b) t = ('a, 'b, [ `Branch ]) raw
and 'a any = ('a, kind) t
and 'a signature = ('a, Kind.fragment_module, [ `Root | `Branch ]) raw
and 'a module_ = ('a, Kind.fragment_module) t
type 'a type_ = ('a, Kind.fragment_type) t

Explicit coercions

val signature_of_module : 'a module_ -> 'a signature
val any : ('a, 'b) t -> 'a any
val any_sort : ('a, 'b, 'c) raw -> ('a, 'b, sort) raw

Attaching fragments to valid paths

val path : 'a Path.module_ -> ('a, 'b) t -> ('a, 'b) Path.t
val identifier : 'a Identifier.signature -> ('a, 'b) t -> ('a, 'b) Identifier.t

Generic operations

val equal : equal:('a -> 'a -> bool) -> ('a, 'b) t -> ('a, 'b) t -> bool
val hash : hash:('a -> int) -> ('a, 'b) t -> int
val sexp_of_t : ('a -> sexp) -> ('a, _, _) raw -> sexp
val split : ('a, 'b) t -> string * ('a, 'b) t option
OCaml

Innovation. Community. Security.