forcing weak purity
Don Clugston
dac at nospam.com
Wed May 23 06:17:43 PDT 2012
On 23/05/12 05:22, Steven Schveighoffer wrote:
> I have come across a dilemma.
>
> Alex Rønne Petersen has a pull request changing some things in the GC to
> pure. I think gc_collect() should be weak-pure, because it could
> technically run on any memory allocation (which is already allowed in
> pure functions), and it runs in a context that doesn't really affect
> execution of the pure function.
>
> So I think it should be able to be run inside a strong pure function.
I am almost certain it should not.
And I think this is quite important. A strongly pure function should be
considered to have its own gc, and should not be able to collect any
memory it did not allocate itself.
Memory allocation from a pure function might trigger a gc cycle, but it
would ONLY look at the memory allocated inside that pure function.
More information about the Digitalmars-d
mailing list