An object for performing batches of work in parallel with ordered output
does Iterable does Sequence
An 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: --> Iterator)
Returns the underlying iterator.
method grep(HyperSeq: , *)
Applies grep
to the HyperSeq
similarly to how it would do it on a Seq
.
my = (^10000).map(*²).hyper;.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: , *)
Uses maps on the HyperSeq
, generally created by application of hyper
to a preexisting Seq
.
method invert(HyperSeq:)
Inverts the HyperSeq
created from a Seq
by .hyper
.
method hyper(HyperSeq:)
Returns the object.
method race(HyperSeq:)
Creates a RaceSeq
object out of the current one.
multi method serial(HyperSeq:)
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.