Module Names.Name

Representation and operations on identifiers that are allowed to be anonymous (i.e. "_" in concrete syntax).

type t =
| Anonymous(*

anonymous identifier

*)
| Name of Id.t(*

non-anonymous identifier

*)
val mk_name : Id.t -> t

constructor

val is_anonymous : t -> bool

Return true iff a given name is Anonymous.

val is_name : t -> bool

Return true iff a given name is Name _.

val compare : t -> t -> int

Comparison over names.

val equal : t -> t -> bool

Equality over names.

val hash : t -> int

Hash over names.

val hcons : t -> t

Hashconsing over names.

val print : t -> Pp.t

Pretty-printer (print "_" for Anonymous.