actually its more about simple confusion rather than mental cost @DNF. Starting out you either use = or in then you see some other code and they use something else and wonder, what is right, is one notation faster or better, what's going on? Of course, it's not the simplest thing to try and search for in the documents (for someone not familiar with iterator terminology, searching for `in` or `=` is useless). Hence Fang's original post's concern (and others as evident from this post).
But really this seems like a fundamental enough language construct that there should be only one correct way; but on the other hand my brain doesn't have a problem with `=` and it seems natural since I have been using matlab for a while, even though `in` seems actually to make more sense here. I don't think that this metaphor is actually relevant: i=1:5 A[i]=B[i].*C[i] or, you could write it as a loop... for i=1:5 A[i]=B[i]*C[i] end since the `for` changes meaning completely i = 1:10 a[i] = b[i].*c[i] and the above only makes sense when indexing, not for other iterables In any case, someone should collect the arguments and file an issue on github to at least get some additional opinions. On Wednesday, October 28, 2015 at 8:45:16 AM UTC-4, DNF wrote: > > You are right, of course. It's just one of those minor cosmetic things you > fix in a pre-1.0 version, or then maybe never. And it's good not to have > too many of those. > > Also > for i ∈ 1:N > just looks incredibly awesome. > > > On Wednesday, October 28, 2015 at 1:38:57 PM UTC+1, STAR0SS wrote: >> >> I think people grossly exaggerate the "mental cost" of having both = and >> in. It's really not that complicated, well explained in the docs and can >> never cause bugs. >> >> On the other hand the depreciation cost will big quite large, given it >> seems both are used 50/50. Plus the numerous complain posts on this forum. >> Don't fix what's not broken. >> >> >> >>