Documentation

Std.Data.PersistentArray

inductive Std.PersistentArrayNode (α : Type u) :
Type u
Equations
structure Std.PersistentArray (α : Type u) :
Type u
Equations
  • Std.instInhabitedPersistentArray = { default := { root := default, tail := default, size := default, shift := default, tailOff := default } }
@[inline]
abbrev Std.PArray (α : Type u) :
Type u
Equations
Equations
def Std.PersistentArray.mkEmptyArray {α : Type u} :
Equations
@[inline]
Equations
@[inline]
Equations
@[inline]
Equations
partial def Std.PersistentArray.getAux {α : Type u} [inst : Inhabited α] :
def Std.PersistentArray.get! {α : Type u} [inst : Inhabited α] (t : Std.PersistentArray α) (i : Nat) :
α
Equations
def Std.PersistentArray.getOp {α : Type u} [inst : Inhabited α] (self : Std.PersistentArray α) (idx : Nat) :
α
Equations
partial def Std.PersistentArray.setAux {α : Type u} :
def Std.PersistentArray.set {α : Type u} (t : Std.PersistentArray α) (i : Nat) (a : α) :
Equations
@[specialize]
partial def Std.PersistentArray.modifyAux {α : Type u} [inst : Inhabited α] (f : αα) :
@[specialize]
def Std.PersistentArray.modify {α : Type u} [inst : Inhabited α] (t : Std.PersistentArray α) (i : Nat) (f : αα) :
Equations
partial def Std.PersistentArray.mkNewPath {α : Type u} (shift : USize) (a : Array α) :
Equations
def Std.PersistentArray.push {α : Type u} (t : Std.PersistentArray α) (a : α) :
Equations
Equations
@[specialize]
def Std.PersistentArray.foldlM {α : Type u} {m : Type vType w} [inst : Monad m] {β : Type v} (t : Std.PersistentArray α) (f : βαm β) (init : β) (start : optParam Nat 0) :
m β
Equations
@[specialize]
def Std.PersistentArray.foldrM {α : Type u} {m : Type vType w} {β : Type v} [inst : Monad m] (t : Std.PersistentArray α) (f : αβm β) (init : β) :
m β
Equations
@[specialize]
partial def Std.PersistentArray.forInAux {α : Type u} {β : Type v} {m : Type vType w} [inst : Monad m] [inh : Inhabited β] (f : αβm (ForInStep β)) (n : Std.PersistentArrayNode α) (b : β) :
m (ForInStep β)
@[specialize]
def Std.PersistentArray.forIn {α : Type u} {m : Type vType w} [inst : Monad m] {β : Type v} (t : Std.PersistentArray α) (init : β) (f : αβm (ForInStep β)) :
m β
Equations
instance Std.PersistentArray.instForInPersistentArray {α : Type u} {m : Type vType w} :
Equations
  • Std.PersistentArray.instForInPersistentArray = { forIn := fun {β} [Monad m] => Std.PersistentArray.forIn }
@[specialize]
partial def Std.PersistentArray.findSomeMAux {α : Type u} {m : Type vType w} [inst : Monad m] {β : Type v} (f : αm (Option β)) :
@[specialize]
def Std.PersistentArray.findSomeM? {α : Type u} {m : Type vType w} [inst : Monad m] {β : Type v} (t : Std.PersistentArray α) (f : αm (Option β)) :
m (Option β)
Equations
@[specialize]
partial def Std.PersistentArray.findSomeRevMAux {α : Type u} {m : Type vType w} [inst : Monad m] {β : Type v} (f : αm (Option β)) :
@[specialize]
def Std.PersistentArray.findSomeRevM? {α : Type u} {m : Type vType w} [inst : Monad m] {β : Type v} (t : Std.PersistentArray α) (f : αm (Option β)) :
m (Option β)
Equations
@[specialize]
partial def Std.PersistentArray.forMAux {α : Type u} {m : Type vType w} [inst : Monad m] (f : αm PUnit) :
@[specialize]
def Std.PersistentArray.forM {α : Type u} {m : Type vType w} [inst : Monad m] (t : Std.PersistentArray α) (f : αm PUnit) :
Equations
@[inline]
def Std.PersistentArray.foldl {α : Type u} {β : Type u_1} (t : Std.PersistentArray α) (f : βαβ) (init : β) (start : optParam Nat 0) :
β
Equations
@[inline]
def Std.PersistentArray.foldr {α : Type u} {β : Type u_1} (t : Std.PersistentArray α) (f : αββ) (init : β) :
β
Equations
Equations
Equations
  • Std.PersistentArray.instAppendPersistentArray = { append := Std.PersistentArray.append }
@[inline]
def Std.PersistentArray.findSome? {α : Type u} {β : Type u_1} (t : Std.PersistentArray α) (f : αOption β) :
Equations
@[inline]
def Std.PersistentArray.findSomeRev? {α : Type u} {β : Type u_1} (t : Std.PersistentArray α) (f : αOption β) :
Equations
@[specialize]
partial def Std.PersistentArray.anyMAux {α : Type u} {m : TypeType w} [inst : Monad m] (p : αm Bool) :
@[specialize]
def Std.PersistentArray.anyM {α : Type u} {m : TypeType w} [inst : Monad m] (t : Std.PersistentArray α) (p : αm Bool) :
Equations
@[inline]
def Std.PersistentArray.allM {α : Type u} {m : TypeType w} [inst : Monad m] (a : Std.PersistentArray α) (p : αm Bool) :
Equations
@[inline]
def Std.PersistentArray.any {α : Type u} (a : Std.PersistentArray α) (p : αBool) :
Equations
@[inline]
def Std.PersistentArray.all {α : Type u} (a : Std.PersistentArray α) (p : αBool) :
Equations
@[specialize]
partial def Std.PersistentArray.mapMAux {α : Type u} {m : Type uType v} [inst : Monad m] {β : Type u} (f : αm β) :
@[specialize]
def Std.PersistentArray.mapM {α : Type u} {m : Type uType v} [inst : Monad m] {β : Type u} (f : αm β) (t : Std.PersistentArray α) :
Equations
@[inline]
def Std.PersistentArray.map {α : Type u} {β : Type u} (f : αβ) (t : Std.PersistentArray α) :
Equations
structure Std.PersistentArray.Stats :
Type
Equations
Equations
def Std.mkPersistentArray {α : Type u} (n : Nat) (v : α) :
Equations
@[inline]
def Std.mkPArray {α : Type u} (n : Nat) (v : α) :
Equations
def Array.toPersistentArray {α : Type u} (xs : Array α) :
Equations
@[inline]
def Array.toPArray {α : Type u} (xs : Array α) :
Equations