October 19, 2012
On Fri, Oct 19, 2012 at 09:22:29AM +0300, Andrei Alexandrescu wrote:
> On 10/19/12 8:17 AM, H. S. Teoh wrote:
> >On Fri, Oct 19, 2012 at 04:24:53AM +0200, Marco Leise wrote:
> >>Am Tue, 16 Oct 2012 17:28:47 -0700
> >>schrieb "H. S. Teoh"<hsteoh@quickfur.ath.cx>:
[...]
> >>>Whew, what a day! Two compiler bugs, no less, and a whole bunch of Phobos issues. I think I may need to take a break from D for a day or two. :-/
> >[...]
> >>And that's where all the good projects end... :D
> >[...]
> >
> >Actually, I just went back to working on my personal D project for a bit. I was a bit disappointed that what I thought would be a quick side-job (implement cartesianProduct in std.algorithm) turned out to get stymied by compiler bugs and Phobos issues.
> 
> Admittedly cartesianProduct is a nontrivial juxtaposition of quite a few other artifacts.

While it is by no means trivial, it is also relatively simple, as far as functional programming goes. I'd say it's a "real-world" test of our current implementation of map, zip, & co.. If we're going to be touting functional programming in D, we'd better get our act together and make sure putting these primitives together will always work correctly, lest we get laughed at by real functional programmers.


> The question here is whether this is just endless churn or real progress. I'm optimistic, but am curious about others' opinion.

I'm not sure what you're referring to by "this". Are you talking about cartesianProduct specifically, or something more general?


> [snip]
> >So yes, D still has a ways to go, and it does have its warts, but it's heaven compared to C++.
> 
> One question is how it compares against other languages that foster similar bulk processing, such as C# or Scala.
[...]

I haven't programmed in C# and Scala, so I can't really say. I do have a bias towards compiled languages, though, and so far D is the best of the lot (that I've tried, anyway).


T

-- 
If the comments and the code disagree, it's likely that *both* are wrong. -- Christopher
October 20, 2012
On 10/19/12 6:31 PM, H. S. Teoh wrote:
>> The question here is whether this is just endless churn or real
>> progress. I'm optimistic, but am curious about others' opinion.
>
> I'm not sure what you're referring to by "this". Are you talking about
> cartesianProduct specifically, or something more general?

I was referring to your woes. (Sorry for my slow and scarce answers, I'm traveling.)

Andrei
October 20, 2012
On Sat, Oct 20, 2012 at 11:57:48AM +0300, Andrei Alexandrescu wrote:
> On 10/19/12 6:31 PM, H. S. Teoh wrote:
> >>The question here is whether this is just endless churn or real progress. I'm optimistic, but am curious about others' opinion.
> >
> >I'm not sure what you're referring to by "this". Are you talking about cartesianProduct specifically, or something more general?
> 
> I was referring to your woes. (Sorry for my slow and scarce answers,
> I'm traveling.)
[...]

Yes you mentioned that.

Well, I think finding bugs in Phobos (or druntime/dmd) is always a good thing, 'cos that's a first step towards fixing them. You can't fix something you're unaware of, after all. But it isn't always a pleasant experience. :)

Though I think some of the issues are fundamental and require somewhat more invasive changes -- like the whole debate about what exactly should be expected of .front in an input range. That discussion seems to have fizzled out at a stalemate, but I think it's important to push through and decide things one way or the other, because the current situation lends itself to subtle bugs and is not acceptable if D is to be used more widely. I rather suffer through invasive changes now, than to be faced later with large amounts of code that are fundamentally broken yet unfixable because by then it's too late to do anything about it.


T

-- 
Computers shouldn't beep through the keyhole.
1 2 3
Next ›   Last »