This is a good summary, cheers.

Maybe you include an example of a parametric function as well as was
discussed in this tread earlier?  For instance:

julia> foofoo{T<:Real}(x::T,y::T) = x
foofoo (generic function with 1 method)

julia> barbar(x::Real,y::Real) = x
barbar (generic function with 1 method)

julia> foofoo(3//2,2)
ERROR: no method foofoo(Rational{Int64}, Int64)

julia> barbar(3//2,2)
3//2

Then, for reference, I've been musing about this a few month ago too:
https://groups.google.com/d/msg/julia-dev/pGvM_QVmjX4/V6OdzhwoIykJ
and here it get discussed a bit too:
https://github.com/JuliaLang/julia/issues/1090


On Thu, 2014-05-15 at 09:59, tomas.lyc...@gmail.com 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.
>
> // T

Reply via email to