Documentation

Lean.Data.PersistentHashMap

inductive Lean.PersistentHashMap.Entry (α : Type u) (β : Type v) (σ : Type w) :
Type (max(maxuv)w)
Instances For
    Equations
    • Lean.PersistentHashMap.instInhabitedEntry = { default := Lean.PersistentHashMap.Entry.null }
    inductive Lean.PersistentHashMap.Node (α : Type u) (β : Type v) :
    Type (maxuv)
    Instances For
      Equations
      Equations
      structure Lean.PersistentHashMap (α : Type u) (β : Type v) [inst : BEq α] [inst : Hashable α] :
      Type (maxuv)
      Instances For
        @[inline]
        abbrev Lean.PHashMap (α : Type u) (β : Type v) [inst : BEq α] [inst : Hashable α] :
        Type (maxuv)
        Equations
        def Lean.PersistentHashMap.empty {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
        Equations
        def Lean.PersistentHashMap.isEmpty {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] (m : Lean.PersistentHashMap α β) :
        Equations
        instance Lean.PersistentHashMap.instInhabitedPersistentHashMap {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
        Equations
        Equations
        Instances For
          @[inline]
          abbrev Lean.PersistentHashMap.EntriesNode (α : Type u_1) (β : Type u_2) :
          Type (max0u_2u_1)
          Equations
          Equations
          • One or more equations did not get rendered due to their size.
          def Lean.PersistentHashMap.mkCollisionNode {α : Type u_1} {β : Type u_2} (k₁ : α) (v₁ : β) (k₂ : α) (v₂ : β) :
          Equations
          • One or more equations did not get rendered due to their size.
          partial def Lean.PersistentHashMap.insertAux {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
          partial def Lean.PersistentHashMap.insertAux.traverse {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] (depth : USize) (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (entries : Lean.PersistentHashMap.Node α β) :
          def Lean.PersistentHashMap.insert {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α βαβLean.PersistentHashMap α β
          Equations
          partial def Lean.PersistentHashMap.findAtAux {α : Type u_1} {β : Type u_2} [inst : BEq α] (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (k : α) :
          partial def Lean.PersistentHashMap.findAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
          Lean.PersistentHashMap.Node α βUSizeαOption β
          def Lean.PersistentHashMap.find? {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α βαOption β
          Equations
          instance Lean.PersistentHashMap.instGetElemPersistentHashMapOptionTrue {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → GetElem (Lean.PersistentHashMap α β) α (Option β) fun x x => True
          Equations
          @[inline]
          def Lean.PersistentHashMap.findD {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α βαββ
          Equations
          @[inline]
          def Lean.PersistentHashMap.find! {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → [inst : Inhabited β] → Lean.PersistentHashMap α βαβ
          Equations
          • One or more equations did not get rendered due to their size.
          partial def Lean.PersistentHashMap.findEntryAtAux {α : Type u_1} {β : Type u_2} [inst : BEq α] (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (k : α) :
          Option (α × β)
          partial def Lean.PersistentHashMap.findEntryAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
          Lean.PersistentHashMap.Node α βUSizeαOption (α × β)
          def Lean.PersistentHashMap.findEntry? {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α βαOption (α × β)
          Equations
          partial def Lean.PersistentHashMap.containsAtAux {α : Type u_1} {β : Type u_2} [inst : BEq α] (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (k : α) :
          partial def Lean.PersistentHashMap.containsAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
          def Lean.PersistentHashMap.contains {α : Type u_1} {β : Type u_2} [inst : BEq α] [inst : Hashable α] :
          Lean.PersistentHashMap α βαBool
          Equations
          partial def Lean.PersistentHashMap.isUnaryEntries {α : Type u_1} {β : Type u_2} (a : Array (Lean.PersistentHashMap.Entry α β (Lean.PersistentHashMap.Node α β))) (i : Nat) (acc : Option (α × β)) :
          Option (α × β)
          Equations
          • One or more equations did not get rendered due to their size.
          partial def Lean.PersistentHashMap.eraseAux {α : Type u_1} {β : Type u_2} [inst : BEq α] :
          def Lean.PersistentHashMap.erase {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α βαLean.PersistentHashMap α β
          Equations
          • One or more equations did not get rendered due to their size.
          partial def Lean.PersistentHashMap.foldlMAux {m : Type w → Type w'} [inst : Monad m] {σ : Type w} {α : Type u_1} {β : Type u_2} (f : σαβm σ) :
          Lean.PersistentHashMap.Node α βσm σ
          partial def Lean.PersistentHashMap.foldlMAux.traverse {m : Type w → Type w'} [inst : Monad m] {σ : Type w} {α : Type u_1} {β : Type u_2} (f : σαβm σ) (keys : Array α) (vals : Array β) (heq : Array.size keys = Array.size vals) (i : Nat) (acc : σ) :
          m σ
          def Lean.PersistentHashMap.foldlM {m : Type w → Type w'} [inst : Monad m] {σ : Type w} {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α β(σαβm σ) → σm σ
          Equations
          def Lean.PersistentHashMap.forM {m : Type w → Type w'} [inst : Monad m] {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α β(αβm PUnit) → m PUnit
          Equations
          def Lean.PersistentHashMap.foldl {σ : Type w} {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α β(σαβσ) → σσ
          Equations
          def Lean.PersistentHashMap.forIn {m : Type w → Type w'} {σ : Type w} {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → [inst : Monad m] → Lean.PersistentHashMap α βσ(α × βσm (ForInStep σ)) → m σ
          Equations
          • One or more equations did not get rendered due to their size.
          instance Lean.PersistentHashMap.instForInPersistentHashMapProd {m : Type w → Type w'} {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → ForIn m (Lean.PersistentHashMap α β) (α × β)
          Equations
          • Lean.PersistentHashMap.instForInPersistentHashMapProd = { forIn := fun {β} [Monad m] => Lean.PersistentHashMap.forIn }
          partial def Lean.PersistentHashMap.mapMAux {α : Type u} {β : Type v} {σ : Type u} {m : Type u → Type w} [inst : Monad m] (f : βm σ) (n : Lean.PersistentHashMap.Node α β) :
          def Lean.PersistentHashMap.mapM {α : Type u} {β : Type v} {σ : Type u} {m : Type u → Type w} [inst : Monad m] :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α β(βm σ) → m (Lean.PersistentHashMap α σ)
          Equations
          def Lean.PersistentHashMap.map {α : Type u} {β : Type v} {σ : Type u} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α β(βσ) → Lean.PersistentHashMap α σ
          Equations
          def Lean.PersistentHashMap.toList {α : Type u_1} {β : Type u_2} :
          {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α βList (α × β)
          Equations
          • numNodes : Nat
          • numNull : Nat
          • numCollisions : Nat
          • maxDepth : Nat
          Instances For
            def Lean.PersistentHashMap.stats {α : Type u_1} {β : Type u_2} :
            {x : BEq α} → {x_1 : Hashable α} → Lean.PersistentHashMap α βLean.PersistentHashMap.Stats
            Equations
            Equations
            • One or more equations did not get rendered due to their size.