HepLean Documentation

Lean.Data.NameTrie

inductive Lean.NamePart :
Instances For
    def Lean.NameTrie.insert {β : Type u_1} (t : Lean.NameTrie β) (n : Lean.Name) (b : β) :
    Equations
    Instances For
      Equations
      • Lean.NameTrie.empty = Lean.PrefixTree.empty
      Instances For
        Equations
        • Lean.instInhabitedNameTrie = { default := Lean.NameTrie.empty }
        Equations
        • Lean.instEmptyCollectionNameTrie = { emptyCollection := Lean.NameTrie.empty }
        def Lean.NameTrie.find? {β : Type u_1} (t : Lean.NameTrie β) (k : Lean.Name) :
        Equations
        Instances For
          @[inline]
          def Lean.NameTrie.foldMatchingM {m : Type u_1 → Type u_2} {β : Type u_3} {σ : Type u_1} [Monad m] (t : Lean.NameTrie β) (k : Lean.Name) (init : σ) (f : βσm σ) :
          m σ
          Equations
          Instances For
            @[inline]
            def Lean.NameTrie.foldM {m : Type u_1 → Type u_2} {β : Type u_3} {σ : Type u_1} [Monad m] (t : Lean.NameTrie β) (init : σ) (f : βσm σ) :
            m σ
            Equations
            Instances For
              @[inline]
              def Lean.NameTrie.forMatchingM {m : TypeType u_1} {β : Type u_2} [Monad m] (t : Lean.NameTrie β) (k : Lean.Name) (f : βm Unit) :
              Equations
              Instances For
                @[inline]
                def Lean.NameTrie.forM {m : TypeType u_1} {β : Type u_2} [Monad m] (t : Lean.NameTrie β) (f : βm Unit) :
                Equations
                Instances For
                  Equations
                  • t.matchingToArray k = (t.foldMatchingM k #[] fun (v : β) (acc : Array β) => acc.push v).run
                  Instances For
                    def Lean.NameTrie.toArray {β : Type u_1} (t : Lean.NameTrie β) :
                    Equations
                    • t.toArray = (t.foldM #[] fun (v : β) (acc : Array β) => acc.push v).run
                    Instances For