terminological obscurity

Arthur ajsiegel at optonline.com
Tue May 25 19:59:05 EDT 2004


On Tue, 25 May 2004 09:03:29 -0700, Donn Cave <donn at u.washington.edu>
wrote:

Donn -

First let me thank you for engaging me. I have learned some, and it
has allowed me to express myself some.

>> But with everything subclassable,  2 different classes, each derived
>> from object, are conceptually distinguished more similarly to the way
>> in which a str and int are distinguished.
>
>Really makes no difference at all - not just insignificant,
>really _no_ difference.  A truly heterogeneous sequence may 
>be full of references to the _same_ object (e.g., (1, 1, 1)),
>and a truly homogeneous sequence may have objects as different
>as None and a module.  It's not about properties of the objects,
>considered in isolation.

You fundamentally miss my point.

What you are saying is clear enough. You are also saying that this is
what Guido meant, when he said something different.  And leaving as
anomolous why Guido didn't say what he meant himself.

I am connecting 2 points by a straight line, rather by way of an
occult labyrinth. I am suggesting the possbility that Guido's
expressed himself ambigously, because the matter wasn't as crsiply
defined in his own mind as it is in yours.

The part I consider to be pure, but plausible speculation, is why that
might have been true.  That at an earlier point in Python's
development, the distinction between homogenous data and a homogenous
sequence was not crucial to draw, and that Guido therrfore hadn't
drawn it.

>> He sort of stacks the cards by making his tuples of hetereogenous
>> type, and his list easily described as a list of T. And thereby
>> sidesteps all the ambiguities inherent in the ten word edict.  Except
>> that at the Object level, we are at lists of Objects and tuples of
>> Objects.  It detracts little from the point of the above quote, but
>> this quote then becomes substantially weaker as support for his 10
>> worder.
>
>Guess he may have overestimated his audience.

True. 

Not everyone can map from what he said to what he meant in the way you
can :)
>
>If you're interested in the history of this matter, it may
>help to know that Guido did not invent the tuple.  It has
>been around in computer programming languages since Lisp.
>You can actually find precisely parallel descriptions of
>the concept in that context, down to the unnecessary use
>of different data types to emphasize the heterogeneity.
>
>Lisp and its relatives have both a tuple and a list type,
>but the list is a `real list', not a 1-dimension array as
>in Python but a recursive data structure.  In Python, this
>data structure can be represented using a tuple:
>
>  t = (0, None)
>  t = (1, t)
>  t = (2, t)
>  ...
>  def print_list(tail):
>      value, tail = tail
>      if tail:
>          print_list(tail)
>      print value
>
>Guido's "mistake" is that unification of all these sequence
>types leaves the distinctions less obvious.

Maybe your grasp of this history could help explain things, on the
slight possiblity that there is some merit my suggestion that you are
clearer of these issues than Gudio had been in March of 2003,

Art 




>
>   Donn Cave, donn at u.washington.edu




More information about the Python-list mailing list