Longident(3o)

Longident3o

Long identifiers, used in parsetree.

Module

Module Longident

Documentation

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 string
| Ldot of t Location.loc * string Location.loc
| Lapply of t Location.loc * t Location.loc

val same : t -> t -> bool

same t t' compares the longidents t and t' without taking locations into account.

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

Deprecated. this function may misparse its input, use "Parse.longident" or "Longident.unflatten"

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.

Releases

6 releases since Debian 9 (Stretch); the text changed 5 times.

  1. 9
  2. 10
  3. 11
  4. 12
  5. 13
  6. Arch

From ocaml 5.5.0-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.