FWIW, I really appreciate you pointing out the different uses of :: Toivo. Along with the different meanings of parameterizations in types and functions, this is another area I haven't been clear about (and I wasn't even aware of it until you pointed it out).
Cheers! Kevin On Thu, May 15, 2014 at 11:49 AM, Toivo Henningsson <toivo....@gmail.com>wrote: > > > On Thursday, 15 May 2014 10:59:07 UTC+2, Tomas Lycken wrote: >> >> it silently uses :: in a different sense than anywhere else in the >>> language >> >> >> I started writing a reply here, but realized it would be more instructive >> to have it as an IJulia notebook, where we can actually inspect the values >> of various statements along the way - take a look here instead: >> http://nbviewer.ipython.org/github/tlycken/IJulia-Notebooks/blob/master/ >> A%20more%20thorough%20look%20at%20Julia's%20%22double% >> 20colon%22%20syntax.ipynb >> >> I hope it makes things a little clearer. I tried to base it on the >> relevant section on `::` in the manual (http://docs.julialang.org/en/ >> latest/manual/types/#type-declarations) and expand it with more examples >> etc, so I hope it's possible to see the connections. >> > > Oh, it's quite clear to me. But do you agree that the usage of x::T as a > formal parameter is quite different when T is a type parameter compared to > when it is a plain type? Different enough that it's not really about an > isa relationship anymore? To my mind, this should warrant using another > operator than :: when T is a type parameter (though there's preciously few > good operator symbols left, and it would be quite a disruptive change...). > > / Toivo >