Purity (D2 standard libraries / object.d)

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Jan 10 15:51:31 PST 2009


Walter Bright wrote:
> Andrei Alexandrescu wrote:
>> Michel Fortin wrote:
>>> On 2009-01-10 00:10:11 -0500, Andrei Alexandrescu 
>>> <SeeWebsiteForEmail at erdani.org> said:
>>>
>>>>> The problem is identifying if this would be faster than recomputing 
>>>>> the return value.
>>>>
>>>> I used memoizers for exp and log (the most called functions in some 
>>>> code I wrote) and it made the original version feel like it was 
>>>> driving in reverse.
>>>
>>> That's only true because, in your specific context, those functions 
>>> were called often with the same input. In a program that rarely use 
>>> the same inputs, your memoizing functions will just waste time and 
>>> memory.
>>
>> No, because I use interpolation.
> 
> That's way beyond the ability of a compiler to do automatically. The 
> compiler would have to understand that the pure function produces 
> continuous results.

You're replying to the wrong guy. I'm saying: the compiler shouldn't 
have to do so, but it should allow functions to do it.

Lately it looks like a lot of the problems discussed here inevitably 
lead to a built-in feature. We want properties, let's have a property 
thingy. We want memoization, let's have a memoize thingy. We want 
optimally aligned structures, let's have an optimal align thingy. I'm 
holding my breath for a request for the kitchen sink thingy.


Andrei



More information about the Digitalmars-d mailing list