HaloO, Jon Lang wrote:
Another issue: what happens if conditional code mutates a junction that it filtered? For example:$x = any (-5 .. 5); if $x > 0 { $x++ }; At this point, which of the following does $x equal? any(-4 .. 6) # the original junction gets mutated any(-5 .. 0, 2 .. 6) # the filtered part of the original junction gets mutated; the rest is untouched any(2 .. 6) # the filtered part of the original junction gets mutated; the rest is lost
This is an example why the controlled block should not be auto-threaded. That is the assembly point of the resulting junction any(0,0,0,0,0,1,1,1,1,1) is before the block. Thus I'm opting for any(-4..6). Regards, TSa. -- "The unavoidable price of reliability is simplicity" -- C.A.R. Hoare "Simplicity does not precede complexity, but follows it." -- A.J. Perlis 1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan
