For a parameterised composite type, I want to distinguish between
fields defined with parameters and generic fields.
An example is probably best:
type Foo{T,N}
a::Array
b::Array{T,N}
end
fieldtype(Foo,:a) returns Array{T,N}
fieldtype(Foo,:b) returns Array{T,N}
And if I use different parameters:
type Bar{S,M}
a::Array
b::Array{S,M}
end
fieldtype(Bar,:a) returns Array{T,N}
fieldtype(Bar,:b) returns Array{S,M}
So if I'm careful to use different parameters to the default for the
field type (Array in this case), I could perhaps distinguish between
parameterised/non-parameterised fields.
However, it would be nice if fieldtype returned no parameters for case
where they are not specified for the field.
i.e. fieldtype(Foo,:a) returns Array
Are there any other suggestions?