On Tuesday, April 22, 2014 12:08:01 AM UTC-4, Kevin Squire wrote:
> … until I realized that T in the first set of braces is a function type
> parameter (i.e., specializing the function), and the second is a
> specialization of the constructed type.
>
Yes, exactly. I think it's that the notation seemed backwards to me. For
the inner constructor you write Point(x::T, y::T) = ..., but it defines
methods for Point{T}. And for parametric functions, you write Point{T<:Real
}(x::T, y::T) = ..., and it defines methods for Point!