Steve D'Aprano wrote:
The way you can usually tell your functional language has given up purity in
favour of mutating implementations is that your code actually runs with
non-toy amounts of data :-)

Hmmm. Your argument here seems to be: "Everyone knows
that functional languages are impractical, so if it's
practical, then it can't be functional."

If she weighs the same as a duck, she's a witch!

More seriously, saying "given up purity in favour of
mutating implementations" implies that the two are
mutually exclusive. I don't agree that they are.

At least as far as in-memory data structure are
concerned, in-place mutation is a form of garbage
collection. You notice that the old version of the
data is going to immediately become garbage, so it
might as well be replaced by the new version.

The observable behaviour of the program remains the
same. That's what I mean by "impossible to tell".


Reply via email to