[Issue 8155] Deprecate std.range.lockstep

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Jun 5 14:59:26 PDT 2012


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



--- Comment #4 from bearophile_hugs at eml.cc 2012-06-05 15:01:26 PDT ---
(In reply to comment #3)
> Yes let's break code 

You can't assume Phobos will not change. Some parts of Phobos were designed
very quickly, and not at their best. We need deprecation patterns, new better
things to be introduced and older less-well designed things deprecated and
removed.

In hindsight the decision to add lockstep() was a mistake, it was based on a
limit of D language that Hara has quickly removed, allowing zip() to cover most
usages of lockstep(). Now lockstep() is redundant because you are able to avoid
it just calling another function.

As you know Walter prefers to not add shallow functions to Phobos. If you
assume lockstep() is not present in Phobos and you want to add it, people will
say you that zip().enumerate() (or other similarly simple solutions) is able to
replace it, so it's too much shallow to add it.

In my opinion to add a shallow function to Phobos it must replace a very often
used pattern, as  filter().array().  While I think zip().enumerate() is not one
of such very common patterns.


> and make new code more verbose,

It's a little more verbose, but the need of a index is not common when you zip
iterables, so the _total_ increase of code is very small.

-- 
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