[Issue 8680] SpanMode.breadth is incorrectly named and implementation fails in Linux

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Sep 20 09:59:58 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=8680



--- Comment #9 from Jesse Phillips <Jesse.K.Phillips+D at gmail.com> 2012-09-20 10:00:49 PDT ---
(In reply to comment #7)
> I suspect we don't need to offer the 'I don't care' option explicitly. People
> may as well be specific. Could add a documentation note that the depth-first
> options will generally be slightly cheaper than breadth-first.

I was not trying to claim traversals that should be available, only emphasizing
the ones I've used.

> > Parent First: Give me everything in the Parent First, then you can traverse the
> > children. Almost as you described, except it would be starting a breadth first
> > from each child.
> 
> There are two ways you could get this effect. You could do this:

listdir was deprecated for a very good reason. Would you now kindly consider
the steps to fold this into a Range.

We can implement any traversal with shallow, why bother adding depth and
breadth or anything else?

I'm very glade you have brought up the naming and implementation issue as I am
relying on a behavior which isn't defined, and now I can plan to correct this.
But it would be nice if the standard library included the use case I would be
using.

> For the sorting case, I was merely suggesting that the sort could be put
> in the user's control, so they can sort alphabetically or by timestamp or
> however they want.

With those examples I see this as a very useful addition. Just not supporting
the traversal I use.

> So the above options can be reversed in all possible permutations to give what
> you want here.

And that is even easier if the traversal is already a range.

> So to conclude, I'd recommend making do with my second example above if it fits
> your needs - with obviously the sorting more customisable. But if you think
> there's a strong case for the first example, then do it. Remember though that
> anyone can get any of these results by writing their own recursive function and
> repeatedly calling 'shallow', so I wouldn't go too overboard with different
> options. (Consider whether you even want the sorting callback, since again, the
> effect can be achieved by just writing it out.)

This argument applies to so many languages that I hope you reconsider your
position "it can be done with primitives already." Why did you use foreach? Do
we really need the function we have goto.

In the beginning I was confused with your issues, to clear up I just wanted to
explain the traversal types I do use so whoever gets around to fixing this may
consider including them. But the main issue of Breadth not being breadth needs
resolved. I can fend for myself, just don't want to.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list