List iterator #
This module provides an iterator for lists that is accessible via List.iterM.
The underlying state of a list iterator. Its contents are internal and should not be used by downstream users of the library.
- list : List α
Instances For
theorem
Std.Iterators.Types.ListIterator.ext
{α : Type w}
{x y : ListIterator α}
(list : x.list = y.list)
:
@[inline]
Returns a finite iterator for the given list. The iterator yields the elements of the list in order and then terminates.
The non-monadic version of this iterator is List.iter.
Termination properties:
Finiteinstance: alwaysProductiveinstance: always
Equations
- l.iterM m = Std.IterM.mk { list := l } m α
Instances For
@[inline]
instance
Std.Iterators.Types.ListIterator.instIterator
{m : Type w → Type w'}
{α : Type w}
[Pure m]
:
Iterator (ListIterator α) m α
Equations
- One or more equations did not get rendered due to their size.
instance
Std.Iterators.Types.ListIterator.instFinite
{α : Type w}
{m : Type w → Type w'}
[Pure m]
:
Finite (ListIterator α) m
@[inline]
instance
Std.Iterators.Types.ListIterator.instIteratorLoop
{m : Type w → Type w'}
{α : Type w}
[Monad m]
{n : Type x → Type x'}
[Monad n]
:
IteratorLoop (ListIterator α) m n