jon.recoil.org

Module Name_mode.Or_absent

type t = private
  1. | Absent
  2. | Present of Flambda2_nominal.Name_mode.name_mode
val is_present_as_normal : Flambda2_nominal.Name_mode.Or_absent.t -> bool
include Flambda2_algorithms.Container_types.S with type t := Flambda2_nominal.Name_mode.Or_absent.t
include Flambda2_algorithms.Container_types_intf.Thing with type t := Flambda2_nominal.Name_mode.Or_absent.T.t
include Stdlib.Hashtbl.HashedType with type t := Flambda2_nominal.Name_mode.Or_absent.T.t

The equality predicate used to compare keys.

A hashing function on keys. It must be such that if two keys are equal according to equal, then they have identical hash values as computed by hash. Examples: suitable (equal, hash) pairs for arbitrary key types include

  • ((=), hash) for comparing objects by structure (provided objects do not contain floats)
  • ((fun x y -> compare x y = 0), hash) for comparing objects by structure and handling Stdlib.nan correctly
  • ((==), hash) for comparing objects by physical equality (e.g. for mutable or cyclic objects).
val compare : Flambda2_nominal.Name_mode.Or_absent.t -> Flambda2_nominal.Name_mode.Or_absent.t -> [ `Be_explicit_about_total_or_partial_ordering ]

This shadows compare from the above include.