ch-ch-changes

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Tue Jan 27 21:17:42 PST 2009


Jarrett Billingsley wrote:
> On Tue, Jan 27, 2009 at 11:15 PM, Andrei Alexandrescu
[...]
>> Feedback welcome.
> 
> This is some awesome stuff.  std.range and std.algorithm are really
> coming together into a compelling whole.  I don't know what else to
> say - _you_ seem to know what you're doing!
> 
> It's a minor point, but in the docs, with all the templating madness
> it gets very hard to find the name of the symbol actually being
> documented.  For example:
> 
> Filter!(unaryFun!(pred),Chain!(Ranges)) filter(alias pred,
> Ranges...)(Ranges rs);
> 
> "filter" gets lost in the middle.  Could it be highlighted, or moved
> to the front (using a Pascal-like "func(params) : returntype" syntax
> instead)?

Good point. Actually I've been experimenting with using "auto" for the 
return type. That does work most of the time, but unfortunately ddoc 
doesn't understand it. Then,

> Also - "toe" is still a stupid name.  ;)  "first" and "last" would
> have been my first choices, they seem so obvious.

Turns out toe isn't half bad when I was coding with it - all I needed 
was something short and memorable.

One problem with "first" is that it sometimes suggests something else. 
For example, if I have a generator for the numbers 1 to 10 and have 
advanced it a bit, gen.first suggests I'm looking back to the very first 
element, not the state of the iteration. I agree that gen.head isn't 
terribly evocative either, but then at least it doesn't evoke something 
wrong :o).

Anyhow, how about doing what Haskell does? They use "head" and "last". 
And at least we'd be able to blame *them* if anyone doesn't like the 
names :o). Thoughts?


Andrei



More information about the Digitalmars-d mailing list