@[inline]
Given an iterator it and a natural number n, it.take n is an iterator that outputs
up to the first n of it's values in order and then terminates.
Marble diagram:
it ---a----b---c--d-e--⊥
it.take 3 ---a----b---c⊥
it ---a--⊥
it.take 3 ---a--⊥
Termination properties:
Finiteinstance: only ifitis productiveProductiveinstance: only ifitis productive
Performance:
This combinator incurs an additional O(1) cost with each output of it.
Equations
- Std.Iterators.Iter.take n it = (Std.Iterators.IterM.take n it.toIterM).toIter
Instances For
@[inline]
This combinator is only useful for advanced use cases.
Given a finite iterator it, returns an iterator that behaves exactly like it but is of the same
type as it.take n.
Marble diagram:
it ---a----b---c--d-e--⊥
it.toTake ---a----b---c--d-e--⊥
Termination properties:
Finiteinstance: alwaysProductiveinstance: always
Performance:
This combinator incurs an additional O(1) cost with each output of it.