Hi,
Reading the Julia style guide I see "avoid writing overly-specific types
<http://julia.readthedocs.org/en/latest/manual/style-guide/#avoid-writing-overly-specific-types>
"
*The main reason I use composite types is in order to aggregate variables
and avoid variable name conflicts (the same reason I use structures in
Matlab)*.
So when I define a data type, I usually define the fieldtypes as* Any or
Array* or *Number* or *Integer *
*Questions*
*1)* Is there any reason to define fieldtypes instead leaving fields with
no type annotation?
*2) *How much performance do I sacrifice by defining a field as *Any* instead
of *Array *or instead of Array{Float64,2} or Array{Number,2}?
*3)* suppose I define:
type Mytype
a:: Array{Number,1}
b:: Array
c
end
then I create an object by
*var=Mytype( [1;2] , [1;2], [1;2] )*
julia> typeof(var.a)
Array{Number,1}
julia> typeof(var.b)
Array{Int64,1}
julia> typeof(var.c)
Array{Int64,1}
Why field a is Array{Number,1} while b and c is Array{Int64,1} ? Isn't
Number generic enough to be turned into Int64?
Thanks a lot,
Alex