December 14, 2008
Dejan Lekic wrote:
> "The requested URL /dmd.2.022.zip was not found on this server."

I always goof up something. They're there now.
December 14, 2008
Bill Baxter wrote:
> On Sun, Dec 14, 2008 at 8:40 PM, Daniel de Kok <daniel@nowhere.nospam> wrote:
>> On Sun, 14 Dec 2008 20:10:26 +0900, Bill Baxter wrote:
>>
>>>> Version D 1.038   Dec 11, 2008
>>>> New/Changed Features
>>>>     * Added Partial IFTI Bugzilla 493
>>> Hooray!  Now I can finish porting std.algorithm and friends to D1!
>> So, we'll see a new std2? :^) (I for one would be very happy)
> 
> Not a new std2, just updates to the old one.  But yeh.

Apologies for the delay in updating std2. I've had a good reason (in addition to having a dissertation to complete), see www.erdani.org. :o)

Andrei
December 14, 2008
On Mon, Dec 15, 2008 at 6:20 AM, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
> Bill Baxter wrote:
>>
>> On Sun, Dec 14, 2008 at 8:40 PM, Daniel de Kok <daniel@nowhere.nospam> wrote:
>>>
>>> On Sun, 14 Dec 2008 20:10:26 +0900, Bill Baxter wrote:
>>>
>>>>> Version D 1.038   Dec 11, 2008
>>>>> New/Changed Features
>>>>>    * Added Partial IFTI Bugzilla 493
>>>>
>>>> Hooray!  Now I can finish porting std.algorithm and friends to D1!
>>>
>>> So, we'll see a new std2? :^) (I for one would be very happy)
>>
>> Not a new std2, just updates to the old one.  But yeh.
>
> Apologies for the delay in updating std2. I've had a good reason (in
> addition to having a dissertation to complete), see www.erdani.org. :o)

I'm referring to this std2: http://www.dsource.org/projects/std2
I think you're referring to std in v2 Phobos, but if you really are
referring to std2 then I look forward to the updates.  ;-)

--bb
December 14, 2008
Bill Baxter wrote:
> On Mon, Dec 15, 2008 at 6:20 AM, Andrei Alexandrescu
> <SeeWebsiteForEmail@erdani.org> wrote:
>> Bill Baxter wrote:
>>> On Sun, Dec 14, 2008 at 8:40 PM, Daniel de Kok <daniel@nowhere.nospam>
>>> wrote:
>>>> On Sun, 14 Dec 2008 20:10:26 +0900, Bill Baxter wrote:
>>>>
>>>>>> Version D 1.038   Dec 11, 2008
>>>>>> New/Changed Features
>>>>>>    * Added Partial IFTI Bugzilla 493
>>>>> Hooray!  Now I can finish porting std.algorithm and friends to D1!
>>>> So, we'll see a new std2? :^) (I for one would be very happy)
>>> Not a new std2, just updates to the old one.  But yeh.
>> Apologies for the delay in updating std2. I've had a good reason (in
>> addition to having a dissertation to complete), see www.erdani.org. :o)
> 
> I'm referring to this std2: http://www.dsource.org/projects/std2
> I think you're referring to std in v2 Phobos, but if you really are
> referring to std2 then I look forward to the updates.  ;-)
> 
> --bb

Sorry, I was indeed referring to std v2 in Phobos. I warn you guys, there's going to be plenty of changes to std.algorithm.

Andrei
December 14, 2008
On Mon, Dec 15, 2008 at 7:43 AM, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
> Bill Baxter wrote:
>>
>> On Mon, Dec 15, 2008 at 6:20 AM, Andrei Alexandrescu <SeeWebsiteForEmail@erdani.org> wrote:
>>>
>>> Bill Baxter wrote:
>>>>
>>>> On Sun, Dec 14, 2008 at 8:40 PM, Daniel de Kok <daniel@nowhere.nospam> wrote:
>>>>>
>>>>> On Sun, 14 Dec 2008 20:10:26 +0900, Bill Baxter wrote:
>>>>>
>>>>>>> Version D 1.038   Dec 11, 2008
>>>>>>> New/Changed Features
>>>>>>>   * Added Partial IFTI Bugzilla 493
>>>>>>
>>>>>> Hooray!  Now I can finish porting std.algorithm and friends to D1!
>>>>>
>>>>> So, we'll see a new std2? :^) (I for one would be very happy)
>>>>
>>>> Not a new std2, just updates to the old one.  But yeh.
>>>
>>> Apologies for the delay in updating std2. I've had a good reason (in
>>> addition to having a dissertation to complete), see www.erdani.org. :o)
>>
>> I'm referring to this std2: http://www.dsource.org/projects/std2
>> I think you're referring to std in v2 Phobos, but if you really are
>> referring to std2 then I look forward to the updates.  ;-)
>>
>> --bb
>
> Sorry, I was indeed referring to std v2 in Phobos. I warn you guys, there's going to be plenty of changes to std.algorithm.

With ranges and reference returns, I suspect so.  D2's added special support for foreach over ranges, right?  Is there anything else that had to change D2 in for ranges?

Anyway, my personal goal with D2 is not so much to facilitate compiling D2 code in D1, but more to just bring similar functionality to D1.  So if std2.algorithm gets stuck at today's rev because of porting issues, I can live with that.  But currently there is no functioning version std.algorithm at all in D1 because of the heavy use of partial IFTI with those string alias parameters.

--bb
December 15, 2008
This time the compilation of my dlibs (using V.1.038) has gone a little less smoothly.

With V.1.037 this line compiles fine, while statically asserts in V.1.038:
static assert(!is(typeof( xkeys([12:"ab", 5:"ba"]) )));

I have tried to track down the problem, but after going into a rat's nest for 40-50+ minutes I have surrendered and just commented out the line.

That line of code is present inside the unittests of xkeys(), an iterable class whose opApply yields just the keys of the given associative array. Of course that [12:"ab", 5:"ba"] AA can't be accepted because its values aren't dynamic arrays, so it can't use a foreach on it yet.

-----------------------

I have seen the Bug #493 fixed, very nice. Of course the more I have the more I want, so I'd like to be able to do something like this:

import std.stdio: writefln;

struct Spam(T, S) {
    T a;
    S b;
    void show() {
        writefln("typeof(T), typeof(S): ", typeid(T), " ", typeid(S));
    }
}

Spam!(T, S) spam(T, S)(T a, S b) {
    return Spam!(double, int)(a, b);
}

void main() {
    Spam!(double, int)(1.0, 33).show(); // OK
    spam(1.0, 33).show(); // OK
    Spam(1.0, 33).show(); // ERROR
}

Currently I use an auxiliary function (here named spam()) to do this with structs (and classes).
It's just sugar, but may help me avoid about 20-30 little helper functions in my dlibs.

Bye,
bearophile
December 15, 2008
> Apologies for the delay in updating std2. I've had a good reason (in addition to having a dissertation to complete), see www.erdani.org. :o)

Bad news for D :-)
Congratulations anyway.
Christof


December 15, 2008
For me, V1.038 compiles my code but takes a really really really long time to do so.

It now takes  1 min 20 secs for a full build, when it used to compile
in 13 seconds.
Forget the 60% slowdown from LDC -- this is 515% slower!

(building with DSSS and tango)

--bb

On Mon, Dec 15, 2008 at 10:14 AM, bearophile <bearophileHUGS@lycos.com> wrote:
> This time the compilation of my dlibs (using V.1.038) has gone a little less smoothly.
>
> With V.1.037 this line compiles fine, while statically asserts in V.1.038:
> static assert(!is(typeof( xkeys([12:"ab", 5:"ba"]) )));
>
> I have tried to track down the problem, but after going into a rat's nest for 40-50+ minutes I have surrendered and just commented out the line.
>
> That line of code is present inside the unittests of xkeys(), an iterable class whose opApply yields just the keys of the given associative array. Of course that [12:"ab", 5:"ba"] AA can't be accepted because its values aren't dynamic arrays, so it can't use a foreach on it yet.
>
> -----------------------
>
> I have seen the Bug #493 fixed, very nice. Of course the more I have the more I want, so I'd like to be able to do something like this:
>
> import std.stdio: writefln;
>
> struct Spam(T, S) {
>    T a;
>    S b;
>    void show() {
>        writefln("typeof(T), typeof(S): ", typeid(T), " ", typeid(S));
>    }
> }
>
> Spam!(T, S) spam(T, S)(T a, S b) {
>    return Spam!(double, int)(a, b);
> }
>
> void main() {
>    Spam!(double, int)(1.0, 33).show(); // OK
>    spam(1.0, 33).show(); // OK
>    Spam(1.0, 33).show(); // ERROR
> }
>
> Currently I use an auxiliary function (here named spam()) to do this with structs (and classes).
> It's just sugar, but may help me avoid about 20-30 little helper functions in my dlibs.
>
> Bye,
> bearophile
>
December 15, 2008
Are you using a lot of templates and recursive imports?

Bill Baxter wrote:
> For me, V1.038 compiles my code but takes a really really really long
> time to do so.
> 
> It now takes  1 min 20 secs for a full build, when it used to compile
> in 13 seconds.
> Forget the 60% slowdown from LDC -- this is 515% slower!
> 
> (building with DSSS and tango)
December 15, 2008
Even if so, why has it become so much slower ?


Walter Bright wrote:
> Are you using a lot of templates and recursive imports?
> 
> Bill Baxter wrote:
>> For me, V1.038 compiles my code but takes a really really really long
>> time to do so.
>>
>> It now takes  1 min 20 secs for a full build, when it used to compile
>> in 13 seconds.
>> Forget the 60% slowdown from LDC -- this is 515% slower!
>>
>> (building with DSSS and tango)