package merlin-lib

  1. Overview
  2. Docs
Merlin's libraries

Install

dune-project
 Dependency

Authors

Maintainers

Sources

merlin-5.8-505.tbz
sha256=5642cde8486a84aad98fa5c590b70e8dcc6074d7fbdb3b9b8c46b2c5b42f653b
sha512=1d7a7751157e393d3ae248ef5ae24a6b4e81430666c61cc51a3d0ec35804523317036f3d7a3c7f18a7554337f4e5f5989fb677865b261ece3fd2b317903570ba

doc/merlin-lib.ocaml_typing/Ocaml_typing/Path/index.html

Module Ocaml_typing.PathSource

Sourcetype t =
  1. | Pident of Ident.t
    (*

    Examples: x, List, int

    *)
  2. | Pdot of t * string
    (*

    Examples: List.map, Float.Array

    *)
  3. | Papply of t * t
    (*

    Examples: Set.Make(Int), Map.Make(Set.Make(Int))

    *)
  4. | Pextra_ty of t * extra_ty
    (*

    Pextra_ty (p, extra) are additional paths of types introduced by specific OCaml constructs. See below.

    *)
Sourceand extra_ty =
  1. | Pcstr_ty of string
    (*

    Pextra_ty (p, Pcstr_ty c) is the type of the inline record for constructor c inside type p.

    For example, in

      type 'a t = Nil | Cons of {hd : 'a; tl : 'a t}

    The inline record type {hd : 'a; tl : 'a t} cannot be named by the user in the surface syntax, but internally it has the path Pextra_ty (Pident `t`, Pcstr_ty "Cons").

    *)
  2. | Pext_ty
    (*

    Pextra_ty (p, Pext_ty) is the type of the inline record for the extension constructor p.

    For example, in

      type exn += Error of {loc : loc; msg : string}

    The inline record type {loc : loc; msg : string} cannot be named by the user in the surface syntax, but internally it has the path Pextra_ty (Pident `Error`, Pext_ty).

    *)
Sourceval same : t -> t -> bool
Sourceval equiv : (Ident.Unscoped.t * Ident.Unscoped.t) list -> t -> t -> bool

See ident.mli for the distrinction between same and equiv

Sourceval compare : t -> t -> int
Sourceval compare_extra : extra_ty -> extra_ty -> int
Sourceval find_free_opt : Ident.t list -> t -> Ident.t option
Sourceval exists_free : Ident.t list -> t -> bool
Sourceval scope : t -> int
Sourceval subst : (Ident.t * t) list -> t -> t
Sourceval check_for_unbound_unscoped_idents : Ident.Unscoped.Set.t -> t -> Ident.Unscoped.t option
Sourceval flatten : t -> [ `Contains_apply | `Ok of Ident.t * string list ]
Sourceval scrape_extra_ty : t -> t

Removes surrounding `Pext_ty` constructors from a path

Sourceval name : ?paren:(string -> bool) -> t -> string
Sourceval head : t -> Ident.t
Sourceval heads : t -> Ident.t list
Sourceval last : t -> string
Sourceval is_constructor_typath : t -> bool
Sourcemodule Map : Map.S with type key = t
Sourcemodule Set : Set.S with type elt = t