Thanks, Josh. I opened #11750 <https://github.com/JuliaLang/julia/issues/11750>.
On Thursday, June 18, 2015 at 11:04:29 AM UTC-5, Josh Langsfeld wrote: > > It seems 'any' calls 'mapreduce' which calls 'mapfoldl' which has a > specialization that will stop computing in the case of searching for a > single true or false value. However, it seems the call to mapreduce instead > goes to a more specific method that doesn't implement this shortcut. If > 'any' were to call mapfoldl directly, it would do the lazy computing. > > On Thursday, June 18, 2015 at 11:18:12 AM UTC-4, Seth wrote: >> >> >> >> julia> function bar(x) >> info("bar $x") >> x >> end >> bar (generic function with 1 method) >> >> julia> any(v->bar(v), [false, false, true, false, false]) >> INFO: bar false >> INFO: bar false >> INFO: bar true >> INFO: bar false >> INFO: bar false >> true >> >> Is there a reason the rest of the elements in the collection are >> evaluated after the first true is encountered? >> >