Skip to content
This repository
Browse code

clarify difference between hyper and race

  • Loading branch information...
commit 1ccffdd9f1f936595985749d26340284e90fbd16 1 parent 4238daf
Larry Wall authored September 04, 2012

Showing 1 changed file with 7 additions and 8 deletions. Show diff stats Hide diff stats

  1. 15  S02-bits.pod
15  S02-bits.pod
Source Rendered
@@ -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,13 +4665,12 @@ 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.
@@ -4679,7 +4678,7 @@ the work-ahead policy for the value generator.
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 notes on commit 1ccffdd

Please sign in to comment.
Something went wrong with that request. Please try again.