method is-lazy

Documentation for method is-lazy assembled from the following types:

class Seq

From Seq

(Seq) method is-lazy

method is-lazy(Seq:D:)

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 RaceSeq

From RaceSeq

(RaceSeq) method is-lazy

method is-lazy(--> False )

Returns False.

class HyperSeq

From HyperSeq

(HyperSeq) method is-lazy

method is-lazy(--> False )

Returns False.

role Iterator

From Iterator

(Iterator) method is-lazy

Defined as:

method is-lazy(Iterator:D: --> Bool:D)

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.