I understand the basic use to slice an array but what about these:

foreach(i;0..5)
    dostuff;

That works yet this does not:

foreach(i;parallel(0..5))
    dostuff;

Why not let this work? It'd seem like a natural way of writing a parallel loop. For some reason:

foreach(i;[0,1,2,3,4])
    dostuff;

This performs far more slowly than the first example and only as fast as it when parallelized with a ~150ms function for each iteration.

What kind of data is it and how is it behaving? If it can do what it does in the first example why not let it do something like this:

int[] arr = 0..5; //arr = [0,1,2,3,4]

One final thought- why is the array function required to convert a lazy Result to an eager one? If you explicitly set something like int[] blah = lazything why not have it silently convert itself?

Reply via email to