package ocaml-compiler
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=c018052c8264a3791a8f54f84179e6bcc78ed82eb889bacc2773df445259aed3
doc/compiler-libs.common/Path/index.html
Module Path
type t = | Pident of Ident.t(*Examples: x, List, int
*)| Pdot of t * string(*Examples: List.map, Float.Array
*)| Papply of t * t(*Examples: Set.Make(Int), Map.Make(Set.Make(Int))
*)| Pextra_ty of t * extra_ty(*
*)Pextra_ty (p, extra)are additional paths of types introduced by specific OCaml constructs. See below.
and extra_ty = | Pcstr_ty of string(*Pextra_ty (p, Pcstr_ty c)is the type of the inline record for constructorcinside typep.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 pathPextra_ty (Pident `t`, Pcstr_ty "Cons").| Pext_ty(*Pextra_ty (p, Pext_ty)is the type of the inline record for the extension constructorp.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 pathPextra_ty (Pident `Error`, Pext_ty).
val equiv : (Ident.Unscoped.t * Ident.Unscoped.t) list -> t -> t -> boolSee ident.mli for the distrinction between same and equiv
val scope : t -> intval check_for_unbound_unscoped_idents :
Ident.Unscoped.Set.t ->
t ->
Ident.Unscoped.t optionval name : ?paren:(string -> bool) -> t -> stringval print : t Format_doc.printerval last : t -> stringval is_constructor_typath : t -> bool