Revised RFC on range design for D2
Ary Borenszweig
ary at esperanto.org.ar
Fri Sep 12 09:22:50 PDT 2008
Andrei Alexandrescu wrote:
> In wake of the many excellent comments and suggestions made here, I made
> one more pass through the draft proposal for ranges.
>
> http://ssli.ee.washington.edu/~aalexand/d/tmp/std_range.html
>
> There are some comments in red illustrating some uncertainties (not
> all), and the names of the primitives have been updated. Bicycle shed
> galore! But don't forget to comment on the reactor as well :o).
>
>
> Andrei
Two questions:
- Is it possible to add elements to a range? Suppose a linked list, you
want to traverse it's elements until a condition is met on an element,
and then add something after it. Or before it. I see there's "put", but
it also says "An output range models a one-pass forward writing
iteration.", so I think it's not the same.
- The same question applies if you want to delete an element from a range.
As for the names, I think it's impossible to find one-word names for the
concepts you want to express. I always prefer expressive, easy to
remember names instead of shorter but less meaningful names. Maybe:
head --> first
toe --> last
next --> moveFirst / dropFirst / skipFirst
retreat -> moveLast / dropLast / skipLast
done --> isEmpty (it's strange to think of a range as done)
So it's like dropFirst / dropLast shrink the range from either end,
until it's empty.
Sorry if these things were already discussed, I didn't have time to read
the hundreds of posts of the previous discussion, just some and the next
proposal.
More information about the Digitalmars-d-announce
mailing list