I see many functions or constructors with {} in their names.
julia> NTuple{4,Int64}((1,2,3,4))
(1, 2, 3, 4)
julia> function myfun{2}(x,y)
return x + y
end
ERROR: UndefVarError: `myfun` not defined
Stacktrace:
[1] top-level scope
@ REPL[62]:1
But as I tested, {} are not allowed in function names?
That is, any object may be made callable in Julia by giving it a method; giving a type a method creates a constructor. For example, these two define the same method (the second line overwrites the method defined in the first line):