On 7/6/11 9:46 PM, Walter Bright wrote:
I understand that within a pure function, such a pure function could modify locals without the caller becoming impure. But those functions are still impure.
Isn't this the whole idea behind weak purity, which we introduced in 2.050? Weakly pure functions are supposed to be able to modify their arguments, yet are still tagged with the »pure« attribute and thus callable from (possibly strongly) pure functions.
Whether the implicit this parameter is part of the arguments through which external state can be read/modified is a separate another question (though I would argue in favor of it, since otherwise objects resp. member functions become unnecessarily crippled inside pure functions), but right now it seems like you are throwing the whole concept of »weak purity«, i.e. the »relaxed« purity rules out of the window. Or did I get you wrong?
David _______________________________________________ dmd-beta mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/dmd-beta
