I should really upgrade to 1.02! % python Python 1.0.1 (Jul 15 2016) Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
def f(): ... for i in range(5): i ... f() 0 1 2 3 4
On Sun, Jan 19, 2020 at 4:33 PM Tim Peters
[Guido]
Sounds like a hallucination or fabrication.
Nope! Turns out my memory was right :-)
The behavior of `for i in range(10): i` in the REPL exists to this day, and list.append() never returned a value.
Sure, but those weren't the claims. The claim was that the result of an expression statement was automatically printed unless it was None. `for i in range(10): i` _used_ to print 10 values _even when run from a program_ instead of from a shell. I wasn't clear about that distinction before.
From Misc/HISTORY:
""" ==> Release 1.0.2 (4 May 1994) <== ... * The result of a statement-level expression is no longer printed, except_ for expressions entered interactively. Consequently, the -k command line option is gone. """
Going back more:
""" ==> Release 0.9.9 (29 Jul 1993) <== ... * New option -k raises an exception when an expression statement yields a value other than None. """
Now I even recall the name of the early method-chaining user whose complaints triggered those changes - but will let the past rest in peace ;-)
The only thing I'm only 90% sure of is whether the REPL always ignored None values.
I'm sure of that: it never showed None values. Because, if it had, I would have remembered bitching about the endless annoyance ;-)
-- Keeping medicines from the bloodstreams of the sick; food from the bellies of the hungry; books from the hands of the uneducated; technology from the underdeveloped; and putting advocates of freedom in prisons. Intellectual property is to the 21st century what the slave trade was to the 16th.