On 11/25/2016 07:53 AM, Dennis Ritchie wrote:
On Friday, 25 November 2016 at 11:20:24 UTC, Jonathan M Davis wrote:
Probably the complete lack of a condition to test in for(;;). I
confess that I was shocked when I found out that it was legal to have
a for loop without a condition. That seems like doing while() or if(),
which makes no sense. So, I never use for(;;) and wish that it didn't
exist, but it does, and some folks use it. So, I have to live with the
possiblity of dealing with it when dealing with code written by other
people. But I won't ever use it.

IMO, it is very convenient for system programming guru. It is believed
that it came from the K&R.

For example, this option is definitely very convenient to use:
https://github.com/dlang/phobos/blob/master/std/algorithm/comparison.d#L591

I like that function. If I were to review it now, I'd approve with these nits:

* drop the parens for popFront

* s/-cast(int)!r2.empty/-int(!r2.empty)/

* Merge with the cmp implementation for strings and simplify the constraint from

if (isInputRange!R1 && isInputRange!R2 && !(isSomeString!R1 && isSomeString!R2))

to

if (isInputRange!R1 && isInputRange!R2)

i.e. it's not relevant to users that the string version has a distinct implementation.

In fact I suggest someone implements this.


Andrei

Reply via email to