Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info>: > To be useful, explanations ought to give the user *predictive power* > -- if I calculate 32767 + 1, what will Python do? > > Explanation #1 predicts that Python will return 32768. > Explanation #2 makes no prediction at all.
Any semantic ruleset that correctly predicts the behavior of any given Python program is equally valid. > Only one of these models for Python allows you to make correct > predictions, even though all three explain the observations given. You're slaying straw men. >> For example, you could explain Python's object references as pointers >> (memory addresses) if you considered that helpful. (That's how Lisp >> textbooks often explain cons cells.) > > Well, you could do that, but it would fail to explain the behaviour of > Jython and IronPython. Jython, CPython and IronPython are supposed to be semantically equivalent. So any valid CPython model is also a valid model for Jython and IronPython. Coincidentally: The reference values (often just references) are pointers to these objects, and a special null reference, which refers to no object. <URL: https://docs.oracle.com/javase/specs/jls/se8/html/jls-4.htm l#jls-4.3.1> (without any explanation as to what a "pointer" might be). > Mixing descriptions of a specific implementation with descriptions of > the high level semantics is sometimes useful but often misleading, and > one needs to be careful how and when one does it. Nobody has proposed doing that. Marko -- https://mail.python.org/mailman/listinfo/python-list