What is a type error?
Andreas Rossberg
rossberg at ps.uni-sb.de
Thu Jul 13 11:35:35 EDT 2006
Marshall wrote:
>
> However if the mutable types are not first class, then there
> is no way to have the aliasing. Thus, if we do not have pointers
> or objects or identity but retain mutability, there is no aliasing
> problem.
Yes, technically you are right. But this makes a pretty weak notion of
mutability. All stateful data structures had to stay within their
lexical scope, and could never be passed to a function. For example,
this essentially precludes object-oriented programming, because you
could not have objects with state (the alternative, second class
objects, would be even less "objective").
Generally, second-classness is an ad-hoc restriction that can work
around all kinds of problems, but rarely with satisfactory results. So I
would tend to say that this is not an overly interesting point in the
design space. But YMMV.
>>In other words, pointers are essentially just an *aspect* of mutability
>>in lower-level languages.
>
> Again, I disagree: it is posible to have mutability without
> pointers/identity/objects.
OK, if you prefer: it is an aspect of first-class mutability - which is
present in almost all imperative languages I know. :-)
- Andreas
--
Andreas Rossberg, rossberg at ps.uni-sb.de
More information about the Python-list
mailing list