If this is your only use-case of I, then you don't need it anyways. Just write 1.0 * A instead; same effect, independent of what type of array A is.
But what if I use I in a different way? Suppose I want to A[1:5,1:5] = eye(5); I can't do that with I. Of course we could give it another type parameters, and then do the whole collect thing again. But then we are back to what I said before above about needless distractions. I don't understand why there is such a resistance to providing both the explicit arrays and the lazy functionalities in Julia. Christoph On Tuesday, 30 August 2016 17:32:37 UTC+1, Júlio Hoffimann wrote: > > I don't think there is anything like pushing the language to computer > scientists, it's the exact opposite, making it seamlessly fast without > forcing the user to manipulate types. Again, you write B = I*A and get B = > copy(A) performance. That is the original proposal. > > Most of us follow the same development strategy while doing science, we > write something quick and profile later. The fact that Julia can be fast > from the beginning is the best thing about it, no need for rewriting code. > > -Júlio >