merlin-lib.ocaml_typing
Ocaml_typing.Shape
merlin-lib.analysis
merlin-lib.commands
merlin-lib.config
merlin-lib.dot_protocol
merlin-lib.extend
merlin-lib.kernel
merlin-lib.ocaml_compression
merlin-lib.ocaml_merlin_specific
merlin-lib.ocaml_parsing
merlin-lib.ocaml_preprocess
merlin-lib.ocaml_utils
merlin-lib.os_ipc
merlin-lib.query_commands
merlin-lib.query_protocol
merlin-lib.sherlodoc
merlin-lib.utils
module Uid : sig ... end
module Sig_component_kind : sig ... end
module Item : sig ... end
type var = Ident.t
type t = {
uid : Uid.t option;
desc : desc;
}
and desc =
| Var of var
| Abs of var * t
| App of t * t
| Struct of t Item.Map.t
| Leaf
| Proj of t * Item.t
| Comp_unit of string
val print : Format.formatter -> t -> unit
val for_unnamed_functor_param : var
val fresh_var : ?name:string -> Uid.t -> var * t
val var : Uid.t -> Ident.t -> t
val abs : ?uid:Uid.t -> var -> t -> t
val app : ?uid:Uid.t -> t -> arg:t -> t
val str : ?uid:Uid.t -> t Item.Map.t -> t
val proj : ?uid:Uid.t -> t -> Item.t -> t
val leaf : Uid.t -> t
val decompose_abs : t -> (var * t) option
val for_persistent_unit : string -> t
val leaf_for_unpack : t
module Map : sig ... end
val dummy_mod : t
val of_path : find_shape:(Sig_component_kind.t -> Ident.t -> t) -> namespace:Sig_component_kind.t -> Path.t -> t
val set_uid_if_none : t -> Uid.t -> t
module Make_reduce (Context : sig ... end) : sig ... end
The Make_reduce functor is used to generate a reduction function for shapes.
Make_reduce
val local_reduce : t -> t