I think the reason for the current parameter order is to make it comply
with other AbstractArrays, where the first parameter is always the
eltype.  Also this is usually the more important one, and the first
parameter is the most convenient one as one can write:

  SparseMatrixCSC{Float64}
and
  f{T<:Number}(s::SparseMatrixCSC{T}) = ...

with your change this would not easily be possible or more verbose:

  f{I,T<:Number}(s::SparseMatrixCSC{I,T}) = ...


On Wed, 2015-09-09 at 10:47, Steven Sagaert <[email protected]> wrote:
> I think that SparseMatrixCSC{Tv,Ti}  should be SparseMatrixCSC{Ti,Tv}
>
> Why?
> It's inconsistent with the mental picture of a map of integer indices -> 
> values & inconsistent with it's analog type signature of a Dict: e.g. 
> Dict{String,Float} which is key -> value type.
>
> One might think is an insignificant detail but these little inconsistencies 
> in language design do add up and create uncertainty & frustration.
>
> Maybe this could be addressed in a future release (not 0.4)?

Reply via email to