On Friday, 24 April 2015 at 19:41:21 UTC, Steven Schveighoffer wrote:
On 4/24/15 3:12 PM, deadalnix wrote:
On Friday, 24 April 2015 at 18:48:43 UTC, Steven Schveighoffer wrote:
I think you are thinking of @safe-ty. malloc and free can be pure, but
must be contained properly.

purity when it comes to mutable data is a tricky thing.

No, it should not be pure because it alter global state in a manner
visible to the program.

But so does GC.malloc.


No, that's the whole point of using a GC. You ask it for a chunk of memory, it gives you a chunk of memory. This does not affect any other part of your program as it is a NEW chunk of memory, so you are not messing with your program state.

When you free, you potentially alter references anywhere outside your "pure" function. It must not be pure.

Obviously, there is state involved inside the GC, but the whole point is that it is isolated from the program (granted the GC is not buggy).

Reply via email to