Documentation

Batteries.Lean.PersistentHashMap

def Lean.PersistentHashMap.ofList {α : Type u_1} [BEq α] [Hashable α] {β : Type u_2} (xs : List (α × β)) :
PersistentHashMap α β

Builds a PersistentHashMap from a list of key-value pairs. Values of duplicated keys are replaced by their respective last occurrences.

Equations
  • Lean.PersistentHashMap.ofList xs = List.foldl (fun (m : Lean.PersistentHashMap α β) (x : α × β) => match x with | (k, v) => m.insert k v) { } xs
Instances For
    def Lean.PersistentHashMap.ofListWith {α : Type u_1} [BEq α] [Hashable α] {β : Type u_2} (xs : List (α × β)) (f : α → β → β → β) :
    PersistentHashMap α β

    Variant of ofList which accepts a function that combines values of duplicated keys.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Lean.PersistentHashMap.ofArray {α : Type u_1} [BEq α] [Hashable α] {β : Type u_2} (xs : Array (α × β)) :
      PersistentHashMap α β

      Builds a PersistentHashMap from an array of key-value pairs. Values of duplicated keys are replaced by their respective last occurrences.

      Equations
      • Lean.PersistentHashMap.ofArray xs = Array.foldl (fun (m : Lean.PersistentHashMap α β) (x : α × β) => match x with | (k, v) => m.insert k v) { } xs
      Instances For
        def Lean.PersistentHashMap.ofArrayWith {α : Type u_1} [BEq α] [Hashable α] {β : Type u_2} (xs : Array (α × β)) (f : α → β → β → β) :
        PersistentHashMap α β

        Variant of ofArray which accepts a function that combines values of duplicated keys.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[specialize #[]]
          def Lean.PersistentHashMap.mergeWithM {α : Type u_1} [BEq α] [Hashable α] {m : Type (max u_2 u_1) → Type u_3} {β : Type (max u_2 u_1)} [Monad m] (self other : PersistentHashMap α β) (f : α → β → β → m β) :
          m (PersistentHashMap α β)

          Merge two PersistentHashMaps. The values of keys which appear in both maps are combined using the monadic function f.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[inline]
            def Lean.PersistentHashMap.mergeWith {α : Type u_1} [BEq α] [Hashable α] {β : Type u_2} (self other : PersistentHashMap α β) (f : α → β → β → β) :
            PersistentHashMap α β

            Merge two PersistentHashMaps. The values of keys which appear in both maps are combined using f.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For