An object for performing batches of work in parallel with ordered output
class HyperSeq does Iterable does Sequence { }
A HyperSeq is the intermediate object used when hyper is invoked on a Seq. In general, it's not intended for direct consumption by the developer.
method iterator(HyperSeq:D: --> Iterator:D)
Returns the underlying iterator.
method grep(HyperSeq:D: $matcher, *%options)
Applies grep to the HyperSeq similarly to how it would do it on a Seq.
my @hyped = (^10000).map(*²).hyper;
@hyped.grep( * %% 3 ).say;
# OUTPUT: «(0 9 36 81 144 ...)»
When you use hyper on a Seq, this is the method that is actually called.
method map(HyperSeq:D: $matcher, *%options)
Uses maps on the HyperSeq, generally created by application of hyper to a preexisting Seq.
method invert(HyperSeq:D:)
Inverts the HyperSeq created from a Seq by .hyper.
method hyper(HyperSeq:D:)
Returns the object.
method race(HyperSeq:D:)
Creates a RaceSeq object out of the current one.
multi method serial(HyperSeq:D:)
Converts the object to a Seq and returns it.
method is-lazy(--> False )
Returns False.
method sink(--> Nil)
Sinks the underlying data structure, producing any side effects.