package doc-ock

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type kind = Kind.path
type ('a, 'b) t =
  1. | Identifier : ('a, 'b) Identifier.t -> ('a, [< kind ] as 'b) t
  2. | Subst : 'a module_type * 'a module_ -> ('a, [< kind Module ]) t
  3. | SubstAlias : 'a module_ * 'a module_ -> ('a, [< kind Module ]) t
  4. | Hidden : 'a module_ -> ('a, [< kind Module ]) t
  5. | Module : 'a module_ * string -> ('a, [< kind Module ]) t
  6. | Canonical : 'a module_ * 'a Path.module_ -> ('a, [< kind Module ]) t
  7. | Apply : 'a module_ * 'a Path.module_ -> ('a, [< kind Module ]) t
  8. | ModuleType : 'a module_ * string -> ('a, [< kind ModuleType ]) t
  9. | Type : 'a module_ * string -> ('a, [< kind Type ]) t
  10. | Class : 'a module_ * string -> ('a, [< kind Class ]) t
  11. | ClassType : 'a module_ * string -> ('a, [< kind ClassType ]) t
and 'a any = ('a, kind) t
and 'a module_ = ('a, Kind.path_module) t
and 'a module_type = ('a, Kind.path_module_type) t
and 'a type_ = ('a, Kind.path_type) t
and 'a class_type = ('a, Kind.path_class_type) t

Creators

val ident_module : 'a Identifier.module_ -> ('a, [< kind Module ]) t
val ident_module_type : 'a Identifier.module_type -> ('a, [< kind ModuleType ]) t
val ident_type : 'a Identifier.type_ -> ('a, [< kind Type ]) t
val ident_class : 'a Identifier.class_ -> ('a, [< kind Class ]) t
val ident_class_type : 'a Identifier.class_type -> ('a, [< kind ClassType ]) t

Explicit coercion

val any : ('a, 'b) t -> 'a any

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 identifier : ('a, 'b) t -> ('a, 'b) Identifier.t

identifier rp extracts the identifier present at the "root" of rp.

val is_hidden : ('a, 'b) t -> bool

is_hidden rp is true when some prefix of rp (which is not under a Canonical) is the Hidden constructor.

Canonical are treated specialy because we expect them to rewrite a hidden path to a non-hidden one.

val sexp_of_t : ('a -> sexp) -> ('a, _) t -> sexp
val rebase : 'a Identifier.signature -> ('a, 'b) t -> ('a, 'b) t
val equal_identifier : equal:('a -> 'a -> bool) -> ('a, 'b) Identifier.t -> ('a, 'b) t -> bool