package coq
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=513e953b7183d478acb75fd6e80e4dc32ac1a918cf4343ac31a859cfb4e9aad2
doc/coq-core.interp/Notation/SpecificNotationMap/index.html
Module Notation.SpecificNotationMapSource
The underlying Map library
include CSig.MapS with type key = Constrexpr.specific_notation
type key = Constrexpr.specific_notationval empty : 'a tval is_empty : 'a t -> boolval cardinal : 'a t -> intApply the given function to the binding of the given key.
val domain : 'a t -> SpecificNotationSet.tRecover the set of keys defined in the map.
val bind : (key -> 'a) -> SpecificNotationSet.t -> 'a tbind f s transform the set x1; ...; xn into x1 := f x1; ...; xn := f xn.
Alias for fold, to easily track where we depend on fold order.
val height : 'a t -> intAn indication of the logarithmic size of a map
find_range in_range m Given a comparison function in_range x, that tests if x is below, above, or inside a given range filter_range returns the submap of m whose keys are in range. Note that in_range has to define a continouous range.
update x f m returns a map containing the same bindings as m, except for the binding of x. Depending on the value of y where y is f (find_opt x m), the binding of x is added, removed or updated. If y is None, the binding is removed if it exists; otherwise, if y is Some z then x is associated to z in the resulting map. If x was already bound in m to a value that is physically equal to z, m is returned unchanged (the result of the function is then physically equal to m).
module Smart : sig ... endmodule Unsafe : sig ... endmodule Monad (M : CMap.MonadS) : sig ... endFold operators parameterized by any monad.