Skip to content

Commit 1ccffdd

Browse files
committed
clarify difference between hyper and race
1 parent 4238daf commit 1ccffdd

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

S02-bits.pod

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ Synopsis 2: Bits and Pieces
1313

1414
Created: 10 Aug 2004
1515

16-
Last Modified: 28 Jul 2012
17-
Version: 268
16+
Last Modified: 04 Sep 2012
17+
Version: 269
1818

1919
This document summarizes Apocalypse 2, which covers small-scale
2020
lexical items and typological issues. (These Synopses also contain
@@ -4665,21 +4665,20 @@ the work-ahead policy for the value generator.
46654665

46664666
A variant of C<eager> is the C<hyper> list operator, which declares
46674667
not only that you want all the values generated now, but that you want
4668-
them badly enough that you don't care what order they're generated in.
4668+
them badly enough that you don't care what order they're generated in, as
4669+
long as the results come back in the right order.
46694670
That is, C<eager> requires sequential evaluation of the list, while
46704671
C<hyper> requests (but does not require) parallel evaluation. In any
4671-
case, it declares that you don't care about the evaluation order.
4672-
(Conjecture: populating a hash from a hyper list of pairs could be done
4673-
as the results come in, such that some keys can be seen even before
4674-
the hyper is done. Thinking about Map-Reduce algorithms here...)
4672+
case, it declares that you don't care about the evaluation order, only
4673+
the result order.
46754674

46764675
This operator is agnostic towards flattening or slicing. It merely changes
46774676
the work-ahead policy for the value generator.
46784677

46794678
=head2 The C<race> operator
46804679

46814680
A further variant of C<hyper> is the C<race> list operator, which
4682-
declares that you want the results so badly that you don't care what
4681+
declares that you want the results so badly that you don't even care what
46834682
order they come back in. Within its arguments, the C<race> operator
46844683
forces parallel evaluation of any iterator, hyper, or junction, such
46854684
that if any single thread dies or hangs its computation, it does not

0 commit comments

Comments
 (0)