Documentation for method is-lazy
assembled from the following pages:
Class: Seq §
From Seq
(Seq) method is-lazy §
method is-lazy(Seq:)
Returns True
if and only if the underlying iterator or cached list considers itself lazy. If called on an already consumed sequence, throws an error of type X::Seq::Consumed.
Class: HyperSeq §
From HyperSeq
(HyperSeq) method is-lazy §
method is-lazy(--> False )
Returns False
.
Class: RaceSeq §
From RaceSeq
(RaceSeq) method is-lazy §
method is-lazy(--> False )
Returns False
.
Role: Iterator §
From Iterator
(Iterator) method is-lazy §
Defined as:
method is-lazy(Iterator: --> Bool)
Should return True
for iterators that consider themselves lazy, and False
otherwise.
Built-in operations that know that they can produce infinitely many values return True
here, for example (1..6).roll(*)
.
say (1 .. 100).is-lazy; # OUTPUT: «False» say (1 .. ∞).is-lazy; # OUTPUT: «True»
The Iterator role implements this method returning False
, indicating a non-lazy iterator.