1) I would never give up the security of the change log. I want the sources internally in addition. (You people saving hard-disk power can disable if you want...)
2) Having to distribute a new changes file with each new revision kind of defeats the purpose of having an unchanging sources file. Besides, The changes file is almost twice the size of the sources. Does the changes file contain the source of every released method (including past released versions)?
3) I know that it's easy to change. But if I do it in my own little world, all of those people who are getting their first take on Smalltalk from Squeak do not benefit. (I am an experienced Smalltalker, and my first take on Squeak was: "Sheesh... I can't seem to get the line end convention to show all of the methods properly.... what a hassle").
4) Having things internal has the nice feature of not needing weirdo platform- specific configuration. If the windows come up, "everything" works.
5) A quick dig around in Squeak (especially internalizeSources, etc.) reveals a rather annoying problem: CompiledMethod is a byte-type object, and therefore cannot store a pointer to a source object. It can only store some number that the source code system must then translate to the source. So much for non-string based source code...
-- Mike Klein
Folks -
It's not hard to bring the Squeak source code inboard -- it actually all worked once. Look at the methods like SystemDictionary makeSourceInternal (or the like -- I'm away from my machine right now).
It has one wonderful property - you can run for long periods without spinning up the disk of a portable computer. -- and the analogous awful property -- if anything crashes, there's nothing to replay :-(
- Dan
At 11:40 PM -0500 3/2/98, Mike Klein wrote:
[snip]
- Having to distribute a new changes file with each new revision kind of
defeats the purpose of having an unchanging sources file. Besides, The changes file is almost twice the size of the sources. Does the changes file contain the source of every released method (including past released versions)?
This is partially a consequence of the "base stuff in flux". That is, morphic, for example, is in the changes file. Once the morphic core stabilizes, it could be moved.
Also, just because you don't get *all* the source in one place, doesn't mean that having *a good chunk of it* in one place, which you don't have to download, etc. isn't a good thing ;)
[snip]
- I know that it's easy to change. But if I do it in my own little world,
all of those people who are getting their first take on Smalltalk from Squeak do not benefit. (I am an experienced Smalltalker, and my first take on Squeak was: "Sheesh... I can't seem to get the line end convention to show all of the methods properly.... what a hassle").
But it doesn't have to be your own little world! You can *distribute* your world. There's nothing stopping you from producing a "beginner's" image and posting it to the various ftp sites! In fact, I think including tutorials, and so forth, in a trivial to run image would be a good thing. (Strip out everything which isn't prime time for compactness, etc.)
OTOH, I was/am a total Smalltalk novice. It didn't take long to figure out how things work. The "How Squeak stores source code" doc is quite good.
Cheers, Bijan Parsia.
squeak-dev@lists.squeakfoundation.org