module ID: ID
type
t
include Intf.EQ
include Intf.ORD
include Intf.HASH
val make : string -> t
val make_f : ('a, Format.formatter, unit, t) Pervasives.format4 -> 'a
val make_full : ?pol:Polarity.t -> needs_at:bool -> string -> t
val fresh_copy : t -> t
fresh_copy v
makes a new identifier with the same name as v
val name : t -> string
val id : t -> int
val polarity : t -> Polarity.t
Obtain polarity of the id
val is_pos : t -> bool
pol = Pos
val is_neg : t -> bool
pol = Neg
val is_polarized : t -> bool
pol <> NoPol
val is_neutral : t -> bool
Pol = NoPol
val needs_at : t -> bool
Should this ID be printed with a "@"?
include Intf.PRINT
val to_string : t -> string
val to_string_slug : t -> string
Pure alphanumerical identifier, see
https://en.wikipedia.org/wiki/Semantic_URL#Slug
val print_full : Format.formatter -> t -> unit
Print with the unique integer ID
val to_string_full : t -> string
val print_name : Format.formatter -> t -> unit
Print only the name, nothing else
module Map: CCMap.S
with type key = t
module Set: CCSet.S
with type elt = t
module Tbl: CCHashtbl.S
with type key = t
module PerTbl: CCPersistentHashtbl.S
with type key = t
module Erase: sig
.. end
Map to unique names