Equations
- Lean.instToStringNamePart = { toString := fun x => match x with | Lean.NamePart.str s => s | Lean.NamePart.num n => toString n }
Equations
- Lean.NamePart.cmp x x = match x, x with | Lean.NamePart.str a, Lean.NamePart.str b => compare a b | Lean.NamePart.num a, Lean.NamePart.num b => compare a b | Lean.NamePart.num x, Lean.NamePart.str x_1 => Ordering.lt | x, x_1 => Ordering.gt
Equations
- Lean.NamePart.lt x x = match x, x with | Lean.NamePart.str a, Lean.NamePart.str b => decide (a < b) | Lean.NamePart.num a, Lean.NamePart.num b => decide (a < b) | Lean.NamePart.num x, Lean.NamePart.str x_1 => true | x, x_1 => false
Equations
Equations
- Lean.NameTrie.insert t n b = Lean.PrefixTree.insert t (Lean.toKey n) b
Equations
- Lean.NameTrie.empty = Lean.PrefixTree.empty
Equations
- Lean.instInhabitedNameTrie = { default := Lean.NameTrie.empty }
Equations
- Lean.instEmptyCollectionNameTrie = { emptyCollection := Lean.NameTrie.empty }
Equations
- Lean.NameTrie.find? t k = Lean.PrefixTree.find? t (Lean.toKey k)
@[inline]
def
Lean.NameTrie.foldMatchingM
{m : Type u_1 → Type u_2}
{β : Type u_3}
{σ : Type u_1}
[inst : Monad m]
(t : Lean.NameTrie β)
(k : Lean.Name)
(init : σ)
(f : β → σ → m σ)
:
m σ
Equations
- Lean.NameTrie.foldMatchingM t k init f = Lean.PrefixTree.foldMatchingM t (Lean.toKey k) init f
@[inline]
def
Lean.NameTrie.foldM
{m : Type u_1 → Type u_2}
{β : Type u_3}
{σ : Type u_1}
[inst : Monad m]
(t : Lean.NameTrie β)
(init : σ)
(f : β → σ → m σ)
:
m σ
Equations
- Lean.NameTrie.foldM t init f = Lean.NameTrie.foldMatchingM t Lean.Name.anonymous init f
@[inline]
def
Lean.NameTrie.forMatchingM
{m : Type → Type u_1}
{β : Type u_2}
[inst : Monad m]
(t : Lean.NameTrie β)
(k : Lean.Name)
(f : β → m Unit)
:
m Unit
Equations
- Lean.NameTrie.forMatchingM t k f = Lean.PrefixTree.forMatchingM t (Lean.toKey k) f
@[inline]
def
Lean.NameTrie.forM
{m : Type → Type u_1}
{β : Type u_2}
[inst : Monad m]
(t : Lean.NameTrie β)
(f : β → m Unit)
:
m Unit