Author: larry
Date: Wed Mar 14 11:28:03 2007
New Revision: 14347

Modified:
   doc/trunk/design/syn/S02.pod

Log:
New "hyper" listop that is an explicitly parallelizing variant of "eager".


Modified: doc/trunk/design/syn/S02.pod
==============================================================================
--- doc/trunk/design/syn/S02.pod        (original)
+++ doc/trunk/design/syn/S02.pod        Wed Mar 14 11:28:03 2007
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 10 Aug 2004
-  Last Modified: 13 Mar 2007
+  Last Modified: 14 Mar 2007
   Number: 2
-  Version: 96
+  Version: 97
 
 This document summarizes Apocalypse 2, which covers small-scale
 lexical items and typological issues.  (These Synopses also contain
@@ -2725,6 +2725,18 @@
 
 =item *
 
+A variant of C<eager> is the C<hyper> list operator, which declares
+not only that you want all the values generated now, but that you want
+them badly enough that you don't care what order they're generated in.
+That is, C<eager> requires sequential evaluation of the list, while
+C<hyper> requests (but does not require) parallel evaluation.  In any
+case, it declares that you don't care about the evaluation order.
+(Conjecture: populating a hash from a hyper list of pairs could be done
+as the results come in, such that some keys can be seen even before
+the hyper is done.  Thinking about Map-Reduce algorithms here...)
+
+=item *
+
 Signatures on non-multi subs can be checked at compile time, whereas
 multi sub and method call signatures can only be checked at run time
 (in the absence of special instructions to the optimizer).

Reply via email to