The demise of T[new]

BCS none at anon.com
Mon Oct 19 13:53:11 PDT 2009


Hello Yigal,

> On 19/10/2009 19:10, BCS wrote:
> 
>> Hello Yigal,
>> 
>>> I think that Arrays and AAs need to be removed from the language. I
>>> prefer to have a collections framework as part of Phobos without
>>> special cases in the language for specific containers.
>>> 
>> If it can be assured that all the current array ops will get inlined
>> is all cases and can result in identical asm I'd be willing to
>> consider this.
>> 
>>> List!(Foo) list = new Array!(Foo); // instead of Foo[new]
>>> 
>> For me to not dislike the idea you would also need to find a cleaner
>> syntax.
>> 
> See Leandro Lucarella's posts which describe the same idea.
> 
> currently, AAs and arrays are implemented in the run-time. What I
> suggest is to move them to the stdlib. I don't see how such a move can
> impact performance which you're concerned with above.

// a is an array of ints

int b;
if(a.length > 5) b = a[5];
else b = a[$/2];

No runtime in that at all now.

> on the contrary,
> moving these types outside the runtime will make it easier to improve
> their implementations.
> 
> regarding syntax, what's cleaner than calling an array an "Array"?
> T[new] is less clear and hackish.
> 

if T[new] gets done as Array!T, what does T[] look like?

I'm not to worried about the fancy feature, it the bone simple stuff staying 
bone simple that I'm looking after.





More information about the Digitalmars-d mailing list