Consistency, Templates, Constructors, and D3
Chris Nicholson-Sauls
ibisbasenji at gmail.com
Mon Aug 27 04:15:35 PDT 2012
Before we go proposing something like replacing 'new Foo( val )'
with 'Foo.new( val )' ... which is just so Ruby-esque, but that's
okay with me ... we need to consider that 'new' is not used only
for classes. Okay, so presumably structs would work the same
way, but what of, say, arrays? What would be the equivalent of
'new int[][]( 5, 10 )' given such a change?
As it stands, 'new' behaves like an operator (behaves like, but
is really a grammar artifact) and so is consistent with
intuition. How would we make something like 'int[][].new( 5, 10
)' make sense *without* having to provide a function (presumably
through UFCS) for each arity? And, given the design of D arrays,
what would such a function even look like?
More information about the Digitalmars-d
mailing list