D2 Short list -- opSlice

Steven Schveighoffer schveiguy at yahoo.com
Thu Nov 19 05:13:40 PST 2009


On Thu, 19 Nov 2009 08:09:14 -0500, Don <nospam at nospam.com> wrote:

> Steven Schveighoffer wrote:
>> On Thu, 19 Nov 2009 03:53:51 -0500, Don <nospam at nospam.com> wrote:
>>
>>> Andrei Alexandrescu wrote:
>>>> We're entering the finale of D2 and I want to keep a short list of  
>>>> things that must be done and integrated in the release. It is clearly  
>>>> understood by all of us that there are many things that could and  
>>>> probably should be done.
>>>>  1. Currently Walter and Don are diligently fixing the problems  
>>>> marked on the current manuscript.
>>>>  2. User-defined operators must be revamped.
>>>
>>> Should opIndex and opSlice be merged?
>>> This would be simpler, and would allow multi-dimensional slicing.
>>> Probably the simplest way to do this would be to use fixed length  
>>> arrays   of length 2 for slices.
>>> So, for example, if the indices are integers, then
>>> opIndex(int x) { } is the 1-D index, and
>>> opIndex(int[2] x) {} is a slice from x[0] to x[1],
>>> which exactly corresponding to the current opSlice(x[0]..x[1]).
>>  I hope you still mean to allow arguments other than int.
>
> Read it.
> "So, _for example_, if the indices are integers,".

D'oh, sorry for the noise :(

>> Also, how does this work with Andrei's "opBinary" proposal?
>
> I don't know -- I'm not proposing a solution to the  
> indexing-and-slicing-expression issues. Still, combining indexing and  
> slicing helps a little. But I don't yet know if the opBinary concept  
> will work.
>
> I think the problem of verbosity in operator overloads (opAdd, opMul,  
> ... all being nearly the same) is very unimportant and shouldn't be the  
> focus of attention. Two things matter:
> (1) expressivity; and
> (2) performance.
> If you don't have these two, your verbosity will be shot to pieces  
> anyway.
> This proposal, together with opDollar(), closes the last remaining  
> element of (1).

I agree.

-Steve



More information about the Digitalmars-d mailing list