What is Expressiveness in a Computer Language

Joachim Durchholz jo at durchholz.org
Wed Jun 21 11:34:19 EDT 2006


Andreas Rossberg schrieb:
> Chris Uppal wrote:
> 
>> It's worth noting, too, that (in some sense) the type of an object can 
>> change over time[*].
> 
> No. Since a type expresses invariants, this is precisely what may *not* 
> happen.

No. A type is a set of allowable values, allowable operations, and 
constraints on the operations (which are often called "invariants" but 
they are invariant only as long as the type is invariant).

I very much agree that the association of a type with a value or a name 
should be constant over their lifetime - but that doesn't follow from 
the definition of "type", it follows from general maintainability 
considerations (quite strong ones actually).

Regards,
Jo



More information about the Python-list mailing list