Differentiate const flavors using CASE?
kris
foo at bar.com
Wed Mar 21 21:47:30 PDT 2007
janderson wrote:
> Andrei Alexandrescu (See Website For Email) wrote:
>
>> Derek Parnell wrote:
>>
>>> On Thu, 22 Mar 2007 04:53:26 +0900, Bill Baxter wrote:
>>>
>>>> Here's a random thought:
>>>> What about const vs CONST?
>>>> The upcase version obviously being the more const of the two.
>>>> The original proposal played with punctuation, and we've talked
>>>> plenty about spelling, but we haven't talked about playing with
>>>> case. It would be an odd-ball among keywords, admittedly, but if
>>>> you asked 100 people which of 'const' and 'CONST' was the most
>>>> constant you'd probably get 100 votes for 'CONST'. And he could
>>>> become good friends with foreach_reverse, the other odd-ball keyword
>>>> who is disparaged by the other kids because of his obesity and the
>>>> big staple in his belly button.
>>>
>>>
>>> LOL ... Now that *is* funny.
>>
>>
>> Yah :o). Speaking of foreach_reverse, probably it would be wise to
>> lobby Walter to deprecate it in favor of foreach(reverse) (item ;
>> collection) { ... }. The keyword(extra) syntax is definitely becoming
>> a D signature syntax.
>>
>>
>> Andrei
>
>
> //Using your other suggestion:
> foreach(reverse) (item ; collection) (item2 ; x->GetColection(b)) (item3
> ; collection3)
> {
>
> }
>
> Its starting to get hard and harder to read IMO.
>
> Although perhaps the reverse could be come sort of iterator mechanism.
> You could define what order items are visited. I mean, reverse would
> not be a keyword at all and would exist in some library. Although I'm
> not sure how it would be implemented, and it may defeat the purpose of
> foreach_reverse being optimal.
>
> Just a thought.
shouldn't this perhaps be something like:
foreach (item; collection) (item2; x->GetColection(b))(item3;
collection3.reverse)
{
}
Now you can select a direction on the each container?
Naturally, this would avoid performing a copy of the content, and the
basic approach is quite easy to handle via a struct containing an
opApply(). It would open the door to alternate iteration approaches
also, such as skipping entries, merging, or whatever.
Tango does something vaguely like this for the text-iterators in
tango.text.Util
More information about the Digitalmars-d
mailing list