DMD 1.038 and 2.022 releases

Bill Baxter wbaxter at gmail.com
Mon Dec 15 18:33:23 PST 2008


On Tue, Dec 16, 2008 at 10:28 AM, Michel Fortin
<michel.fortin at michelf.com> wrote:
> On 2008-12-14 18:55:58 -0500, "Bill Baxter" <wbaxter at gmail.com> said:
>
>> On Mon, Dec 15, 2008 at 7:43 AM, Andrei Alexandrescu
>> <SeeWebsiteForEmail at erdani.org> wrote:
>>>
>>> Bill Baxter wrote:
>>>>
>>>> On Mon, Dec 15, 2008 at 6:20 AM, Andrei Alexandrescu
>>>> <SeeWebsiteForEmail at erdani.org> wrote:
>>>>>
>>>>> Bill Baxter wrote:
>>>>>>
>>>>>> On Sun, Dec 14, 2008 at 8:40 PM, Daniel de Kok <daniel at 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.
>
> Couldn't you use a double template?
>
>        template doSomething(string predicate)
>        {
>                void doSomething(A)(a) { ... }
>        }
>
> Then call it like this:
>
>        doSomething!("hello!")(5);
>
> I'm using this trick at some places the D/Objective-C bridge.
>
> Anyway, it's probably not worth the trouble anymore given that the latest
> DMD fixes the problem.

Technically yes, but the code would require so many changes to make
that work that I didn't think it was worth it.  I might as well call
it bills.algorithm at that point instead of std2.algorithm.
Apparently Andrei didn't like the thought of having to write the code
that way either, which is presume why he convinced Walter to
change/fix IFTI in D2.

--bb


More information about the Digitalmars-d-announce mailing list