@@ -13,8 +13,8 @@ Synopsis 2: Bits and Pieces
13
13
14
14
Created: 10 Aug 2004
15
15
16
- Last Modified: 28 Jul 2012
17
- Version: 268
16
+ Last Modified: 04 Sep 2012
17
+ Version: 269
18
18
19
19
This document summarizes Apocalypse 2, which covers small-scale
20
20
lexical items and typological issues. (These Synopses also contain
@@ -4665,21 +4665,20 @@ the work-ahead policy for the value generator.
4665
4665
4666
4666
A variant of C<eager> is the C<hyper> list operator, which declares
4667
4667
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.
4669
4670
That is, C<eager> requires sequential evaluation of the list, while
4670
4671
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.
4675
4674
4676
4675
This operator is agnostic towards flattening or slicing. It merely changes
4677
4676
the work-ahead policy for the value generator.
4678
4677
4679
4678
=head2 The C<race> operator
4680
4679
4681
4680
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
4683
4682
order they come back in. Within its arguments, the C<race> operator
4684
4683
forces parallel evaluation of any iterator, hyper, or junction, such
4685
4684
that if any single thread dies or hangs its computation, it does not
0 commit comments