dolmen

A parser library for automated deduction
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library dolmen.std
Module Dolmen_std . Expr . Id
type 'a t = 'a id

The type of identifiers

val hash : 'a t -> int

Hash function.

val equal : 'a t -> 'b t -> bool

Equality function.

val compare : 'a t -> 'b t -> int

Comparison function.

val print : Stdlib.Format.formatter -> 'a t -> unit

Printing function

val mk : ?pos:Pretty.pos -> ?name:string -> ?tags:Tag.map -> ?builtin:builtin -> Path.t -> 'a -> 'a t

Create a new identifier

val get_tag : _ t -> 'a Tag.t -> 'a option

Get the value bound to a tag.

val get_tag_list : _ t -> 'a list Tag.t -> 'a list

Get the list of values bound to a list tag, returning the empty list if no value is bound.

val get_tag_last : _ t -> 'a list Tag.t -> 'a option

Get the last value bound to a list tag.

val set_tag : _ t -> 'a Tag.t -> 'a -> unit

Set the value bound to the tag.

val add_tag : _ t -> 'a list Tag.t -> 'a -> unit

Bind an additional value to a list tag.

val add_tag_opt : _ t -> 'a list Tag.t -> 'a option -> unit

Optionally bind an additional value to a list tag.

val add_tag_list : _ t -> 'a list Tag.t -> 'a list -> unit

Bind a list of additional values to a list tag.

val unset_tag : _ t -> _ Tag.t -> unit

Remove the binding to the given tag.