Documentation

Lean.Data.AssocList

inductive Lean.AssocList (α : Type u) (β : Type v) :
Type (max u v)

List-like type to avoid extra level of indirection

Instances For
    def Lean.instInhabitedAssocList.default {a✝ : Type u_1} {a✝¹ : Type u_2} :
    AssocList a✝ a✝¹
    Instances For
      @[implicit_reducible]
      instance Lean.instInhabitedAssocList {a✝ : Type u_1} {a✝¹ : Type u_2} :
      Inhabited (AssocList a✝ a✝¹)
      @[reducible, inline]
      abbrev Lean.AssocList.empty {α : Type u} {β : Type v} :
      AssocList α β
      Instances For
        @[implicit_reducible]
        @[reducible, inline]
        abbrev Lean.AssocList.insertNew {α : Type u} {β : Type v} (m : AssocList α β) (k : α) (v : β) :
        AssocList α β
        Instances For
          def Lean.AssocList.isEmpty {α : Type u} {β : Type v} :
          AssocList α β → Bool
          Instances For
            @[specialize #[]]
            def Lean.AssocList.foldlM {α : Type u} {β : Type v} {δ : Type w} {m : Type w → Type w'} [Monad m] (f : δ → α → β → m δ) (init : δ) :
            AssocList α β → m δ
            Instances For
              @[inline]
              def Lean.AssocList.foldl {α : Type u} {β : Type v} {δ : Type w} (f : δ → α → β → δ) (init : δ) (as : AssocList α β) :
              δ
              Instances For
                def Lean.AssocList.toList {α : Type u} {β : Type v} (as : AssocList α β) :
                List (α × β)
                Instances For
                  @[specialize #[]]
                  def Lean.AssocList.forM {α : Type u} {β : Type v} {m : Type w → Type w'} [Monad m] (f : α → β → m PUnit) :
                  AssocList α β → m PUnit
                  Instances For
                    def Lean.AssocList.mapKey {α : Type u} {β : Type v} {δ : Type w} (f : α → δ) :
                    AssocList α β → AssocList δ β
                    Instances For
                      def Lean.AssocList.mapVal {α : Type u} {β : Type v} {δ : Type w} (f : β → δ) :
                      AssocList α β → AssocList α δ
                      Instances For
                        def Lean.AssocList.findEntry? {α : Type u} {β : Type v} [BEq α] (a : α) :
                        AssocList α β → Option (α × β)
                        Instances For
                          def Lean.AssocList.find? {α : Type u} {β : Type v} [BEq α] (a : α) :
                          AssocList α β → Option β
                          Instances For
                            def Lean.AssocList.contains {α : Type u} {β : Type v} [BEq α] (a : α) :
                            AssocList α β → Bool
                            Instances For
                              def Lean.AssocList.replace {α : Type u} {β : Type v} [BEq α] (a : α) (b : β) :
                              AssocList α β → AssocList α β
                              Instances For
                                def Lean.AssocList.insert {α : Type u} {β : Type v} [BEq α] (m : AssocList α β) (k : α) (v : β) :
                                AssocList α β
                                Instances For
                                  def Lean.AssocList.erase {α : Type u} {β : Type v} [BEq α] (a : α) :
                                  AssocList α β → AssocList α β
                                  Instances For
                                    def Lean.AssocList.any {α : Type u} {β : Type v} (p : α → β → Bool) :
                                    AssocList α β → Bool
                                    Instances For
                                      def Lean.AssocList.all {α : Type u} {β : Type v} (p : α → β → Bool) :
                                      AssocList α β → Bool
                                      Instances For
                                        @[inline]
                                        def Lean.AssocList.forIn {α : Type u} {β : Type v} {δ : Type w} {m : Type w → Type w'} [Monad m] (as : AssocList α β) (init : δ) (f : α × β → δ → m (ForInStep δ)) :
                                        m δ
                                        Instances For
                                          @[implicit_reducible]
                                          instance Lean.AssocList.instForInProdOfMonad {α : Type u} {β : Type v} {m : Type w → Type w'} [Monad m] :
                                          ForIn m (AssocList α β) (α × β)
                                          def List.toAssocList' {α : Type u} {β : Type v} :
                                          List (α × β) → Lean.AssocList α β
                                          Instances For