Improvement in pure functions specification

Johan Engelen via Digitalmars-d digitalmars-d at puremagic.com
Fri Dec 23 10:53:51 PST 2016


On Friday, 23 December 2016 at 17:42:40 UTC, Andrei Alexandrescu 
wrote:
> On 12/23/2016 12:32 PM, Johan Engelen wrote:
>> On Thursday, 22 December 2016 at 20:53:37 UTC, deadalnix wrote:
>>> On Wednesday, 21 December 2016 at 21:34:04 UTC, Andrei 
>>> Alexandrescu
>>> wrote:
>>>>> Instead of
>>>>>   "Any `pure` function that is not strongly pure cannot be 
>>>>> memoized."
>>>>> why not
>>>>>   "Any `pure` function that is not strongly pure _may not 
>>>>> be assumed to
>>>>> be_ memoizable."
>>>>
>>>> Got it. Good point. Will do.
>>>>
>>>
>>> That worse than the current wording.
>>
>> Yes, and I fixed it a few minutes after:
>> https://forum.dlang.org/post/tnvpmtxcmqiwlmedyiei@forum.dlang.org
>
> Is the situash good now? -- Andrei

Yeah, with the extra sentences it's clear to (at least) me. The 
"cannot be assumed" may be read as "can never be assumed"; but 
it's clarified at the end of the paragraph.

Perhaps I read this wrong but: the paragraph says that 
non-strongly-pure functions receive no special treatment, but 
then the next paragraph adds special treatment for a subset of 
non-strongly-pure functions... :)

It's all nitpicking of course, and now things may be obvious. But 
one year from now I'm sure we'll have trouble figuring out what 
was really meant... :S



More information about the Digitalmars-d mailing list