Andrew Whitworth wrote: > The issue mentioned in the Synopses is that junctions autothread, and > autothreading in a conditional could potentially create multiple > threads of execution, all of which are taking different execution > paths. At some point, to bring it all back together again, the various > threads could use a continuation to return back to a single execution > flow.
Hmm. If that's the case, let me suggest that such an approach would be counterintuitive, and not worth considering. When I say "if any of these books are out of date, review your records for inconsistencies; otherwise, make the books available for use", I don't expect to end up doing both tasks. In a similar manner, I would expect junctions not to autothread over conditionals, but to trigger at most one execution path (continuation?). The real issue that needs to be resolved, I believe, is illustrated in the following statement: "if any of these books are out of date, review them." The question, as I understand it, is "what is meant by 'them'?" Is it "these books", or is it "the ones that are out of date"? In perl 6 terms: $x = any(@books); if $x.out-of-date { $x.review } Is this equivalent to: if any(@books).out-of-date { any(@books).review } or: if any(@books).out-of-date { any(@books.grep {.out-of-date} ).review } I don't mean to reopen the debate; though if we can get some resolution on this, I won't mind. But I _would_ at least like to see the summary of the issue stated a bit more clearly. -- Jonathan "Dataweaver" Lang