Newsgroups: comp.object,comp.lang.smalltalk,comp.lang.c++,comp.lang.misc
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!gatech!newsfeed.internetmci.com!in1.uu.net!world!carlg
From: carlg@world.std.com (Carl E Gundel)
Subject: Re: Types, types: static vs. dynamic -- classification
Message-ID: <DID0p7.72u@world.std.com>
Followup-To: comp.object,comp.lang.smalltalk,comp.lang.c++,comp.lang.misc
Organization: The World, Public Access Internet, Brookline, MA
X-Newsreader: TIN [version 1.2 PL2]
References: <vwjviowz091.fsf@osfb.aber.ac.uk> <vwjohu8ntm7.fsf@osfb.aber.ac.uk>
Date: Mon, 20 Nov 1995 20:53:31 GMT
Lines: 31
Xref: glinda.oz.cs.cmu.edu comp.object:41020 comp.lang.smalltalk:30859 comp.lang.c++:161038 comp.lang.misc:23922

Piercarlo Grandi (pcg@aber.ac.uk) wrote:

: picture thereof. If you want, you can swap two classes (well, their
: class objects) by using 'become:', for that matter, and then all hell is
: let loose.

Sure.  That is certainly possible.  I've never tried it though.  There 
must be ways to blow up other languages.  ;)

: To avoid all the difficult problems this poses, classes ought to be
: represented by immutable and versioned class objects, and each object
: should be associated with the version of the class object representing
: the class as it was when the object was instantiated. In practice things
: are considerably murkier. The very same problem afflicts OO databases,
: BTW. Some do version class objects, if I remember well.

As I see it, it only poses a difficult problem if you mess with it and 
don't know what you're doing.  I don't know what *ought* to be done 
exactly, except maybe to leave the base classes alone (but if I want to 
change something or fix a bug, I like to have the option).  If you make 
Smalltalk too safe, you might as well call it something else IMHO.

Maybe compiler vendors shouldn't publish the source to their function 
libraries in case someone might modify it to suit their needs?  :) 

Carl
-- 
------------------------------------------------------------------
Carl Gundel  carlg@world.std.com  Shoptalk Systems  508-872-5315
author of Liberty BASIC,  "EASY Windows and OS/2 programming!"
http://world.std.com/~carlg/basic.html
