Python-based monads essay (Re: Assignment versus binding)

Gregory Ewing greg.ewing at canterbury.ac.nz
Thu Oct 13 06:53:23 EDT 2016


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".

-- 
Greg



More information about the Python-list mailing list