What is Expressiveness in a Computer Language
Joachim Durchholz
jo at durchholz.org
Sun Jun 25 08:12:47 EDT 2006
rossberg at ps.uni-sb.de schrieb:
> Joachim Durchholz wrote:
>> > A type is the encoding of these properties. A type
>>> varying over time is an inherent contradiction (or another abuse of the
>>> term "type").
>> No. It's just a matter of definition, essentially.
>> E.g. in Smalltalk and Lisp, it does make sense to talk of the "type" of
>> a name or a value, even if that type may change over time.
>
> OK, now we are simply back full circle to Chris Smith's original
> complaint that started this whole subthread, namely (roughly) that
> long-established terms like "type" or "typing" should *not* be
> stretched in ways like this, because that is technically inaccurate and
> prone to misinterpretation.
Sorry, I have to insist that it's not me who's stretching terms here.
All textbook definitions that I have seen define a type as the
set/operations/axioms triple I mentioned above.
No mention of immutability, at least not in the definitions.
Plus, I don't see any necessity on insisting on immutability for the
definition of "type". Otherwise, you'd have to declare that Smalltalk
objects truly don't have a type (not even an implied one), and that
would simply make no sense: they do in fact have a type, even though it
may occasionally change.
Regards,
Jo
More information about the Python-list
mailing list