Module Longident
module Longident: sig .. end
Long identifiers, used in parsetree.
Warning: this module is unstable and part of compiler-libs.
To print a longident, see Pprintast.longident, using Format.asprintf to convert to a string.
type t =
|
| Lident of
|
|
| Ldot of
|
|
| Lapply of
|
val flatten : t -> string list
val unflatten : string list -> t option
For a non-empty list l, unflatten l is Some lid where lid is the long identifier created by concatenating the elements of l with Ldot. unflatten [] is None.
val last : t -> string
val parse : string -> t
This function is broken on identifiers that are not just "Word.Word.word"; for example, it returns incorrect results on infix operators and extended module paths.
If you want to generate long identifiers that are a list of dot-separated identifiers, the function Longident.unflatten is safer and faster. Longident.unflatten is available since OCaml 4.06.0.
If you want to parse any identifier correctly, use the long-identifiers functions from the Parse module, in particular Parse.longident. They are available since OCaml 4.11, and also provide proper input-location support.
© 1995-2024 INRIA.
https://ocaml.org/manual/5.3/api/compilerlibref/Longident.html