Dwight Hughes | 18 Jan 10:16 1999

Blue Book Implementation chapters online...

I have put Chapters 26-30 -- the Implementation -- of "Smalltalk-80: The
Language and Its Implementation" (the famous and nearly impossible to
find Blue Book) online at my site:


These still lack the figures, but I will be adding them shortly. I
wanted to "unofficially" release them in their present not quite
finished state so I could get some feedback. My site is equally rough,
but will be subjected to a process of continual improvement.

Note: I have changed the left-arrow assignment operator to := to make
the source code text cleaner (alternative representations of the left
arrow were either ugly, didn't scale with the text, or were not portable
across all common browers and fonts) and to make it agree with the
normal "modern" Smalltalk conventions. I have also left each chapter as
a single HTML page to allow easy printout for study.

-- Dwight

Eugene Wallingford | 29 Jan 20:58 1999

Re: Is Squeak tail recursive?

Dan writes:

>(there are also some truly beautiful things that become possible when,
>eg, ifTrue: gets sent as a real message, but that's another story...).

     I, for one, would be interested in hearing Dan or anyone else
     tell this story...

---- Eugene

Marcus Denker | 18 Jan 20:23 1999

Re: Linux memory issues resolved?

On Sun, Jan 17, 1999 at 03:34:50PM +0100, Roland Jesse wrote:
> Lex Spoon wrote:
> > Try adding the -memory option to your command line.
> Is there no way of specifying the heap size at compile time? So far I

in void ParseArguments(int argc, char **argv), file sqXWindow.c

    initialHeapSize= 5*1024*1024;       /* 5 megabytes by default */

> never submitted the FreeBSD port of 2.3 to the ports collection because it
> should run without specifying any options on the command line.

I have written a squeak-wrapper script that sets some parameters, 
and builds up a $HOME/.squeak directory if the user starts squeak
the first time.

I'l change it a bit for 2.3 (e.g I will use the env-vars like
SQUEAK_MEMORY instead of the arguments), but here is the version
I use in my 2.3beta package:

(Mail me if you need man-pages for squeak, squeakvm and squeakvmh.
 Not providing man-pages is considered to be a bug in Debian)

# Squeak startup script for Debian GNU/Linux 
# (c) 1998 Marcus Denker <marcus <at> ira.uka.de>
(Continue reading)

Randal L. Schwartz | 23 Jan 03:03 1999

Re: Evaluating HTML-Smalltalk Code in Scamper (with attached zip)

>>>>> "Mark" == Mark Guzdial <guzdial <at> cc.gatech.edu> writes:

>> I played a little bit with scamper and added the HTMLCodeEntity-Tag
>> (<CODE></CODE>)

Uh... <code> is already an HTML 4.0 (and I think all the way back to
1.0) tag (see http://www.htmlhelp.com/reference/html40/phrase/code.html).
If you're gonna pick for embedded scripting, a standard way is:

	<script language=squeak>
	squeak code goes here


Name: Randal L. Schwartz / Stonehenge Consulting Services (503)777-0095
Keywords: Perl training, UNIX[tm] consulting, video production, skiing, flying
Email: <merlyn <at> stonehenge.com> Snail: (Call) PGP-Key: (finger merlyn <at> teleport.com)
Web: <A HREF="http://www.stonehenge.com/merlyn/">My Home Page!</A>
Quote: "I'm telling you, if I could have five lines in my .sig, I would!" -- me

Greg & Cindy Gritton | 6 Jan 07:42 1999

Working with InterpreterSimulator


    Has anyone recently worked with the the InterpreterSimulator?
I am trying to work on some speed improvements to the interpreter,
and thought that being able to simulate the interpreter in 
Smalltalk would be worthwhile, especially since a class already
existed to do so.  Unfortunately, when I tried it I ran into 

    The first problem I ran into was in the adjustFieldsAndClassOf:by:
method.  It tries to adjust all the object pointers in an object
by a fixed amount.  However, the fixed amount happened to be negative,
resulting in negative value being stored in the Interpreter's "memory",
which is implemented as a bitmap.  Unfortunately, the bitmap's
at:put: primitive expects a positive value.  (Specifically, 
in the real interpreter that I am running calls 
bytecodePrimAtPut which calls stObject:at:put:,
which calls subscript:with:storing:format, which calls
positive32BitValueOf:, which fails on a negative number.
Is this failure necessary?  Negative numbers make useful 32-bit values,
and the surrounding code looks like it would handle them just fine.)

     I tried the 2.3 beta, and it gets past this point, but
stops soon afterwards by getting a wrong size in 
which is called from InterpreterSimulator(Interpreter)>>byteSwapByteObjects.
I can continue to try to debug the problem, but I am wondering
if someone else has tried this functionality recently, or if it
is so old that there is little hope of getting it working easily.
Should I just work from within C instead?
(Continue reading)

Mark Wai | 23 Jan 16:10 1999

Squeak on ComputerWorld

There is a tiny little bit coverage (and even some photos of Engelbart and
Kay) about Squeak in Computerworld January 18, 1999. Vol 33. No.3 (under the
Technology section)

To quote some lines from there:

"Thirty years later, nothing has evolved" -- Hal Bennett
"The place where you die (referring to Squeak I believe)" -- Alan Kay

"The symposium was more of a glorious glance backward than an outline of the
future" -- the reporter

Mark Wai
Wator InnoVision

Dan Ingalls | 15 Jan 22:10 1999

Squeak 2.3 Now Available!

.... on the UIUC server.  It's stored as 
	Mac 68K VM
	and also a stuffit archive with all of the above in it.

It should run with an old VM (we took some pains), but the new VM is 20-30% faster.  Also the old VM may fail some
primitves and thus make the cool Flash and TrueType demos very slow.

There is much to be said about this release, but no one has written any of it.  I will do my best either this
evening or on the plane tomorrow to summarize the features and tell you a few things you would want to know.

I hope this all holds together well.  I apologize for the delay in this release and for the flagrant abuse of
"beta" status.  We'll be better next time -- really.

The Squeak Team will be at an offsite planning meeting for the next week.  We will all be tuned in to email,
though, and capable of responding to any serious problems, should they show up.  At the end of the week, I or
someone else will summarize where we are planning to go in the next 6 months to a year, both to give you some
sense of direction, and possibly to serve as a seed crystal in organizing the many interesting projects
already in progress out there in Squeak-land.


	- Dan (for The Squeak Team)

Ivan Brusic | 29 Jan 07:34 1999

Squeak talk at Smalltalk conference

There is going to be a session about Squeak at the Smatlltalk Solutions
'99 conference in NYC.

From: http://www.smalltalkconference.com/html/conference/sessions3.shtml

Squeak: A New Generation Open-Source Smalltalk 

		      Based on, and developed in
                      Smalltalk, Squeak is a
                      development environment that
                      offers an Integrated Development
                      Environment, a sophisticated GUI,
                      Internet support, and a VM written
                      in a subset of Smalltalk that can be
                      translated to C to create new VMs.
                      In this session, history,
                      significance and features of Squeak
                      will be discussed with examples.
                      Level: Intermediate to Advenced 



Ivan Brusic                        |  "Computers are nothing but a perfect
Graduate Student                   |   illusion of order" - Iggy Pop
College of Computing & GVU Center  |  
Georgia Institute of Technology    |  E-mail: ivan [at] cc.gatech.edu

William Barnett-Lewis | 12 Jan 20:26 1999

Re: 2.3 upgrades causing Cursor bug?

Hmm, on my Mac at home, a couple of weeks ago, I'd hit the "update code
from server" menu to see if any updates had been released and noticed
that all the updates since 2.2 came out tried to install making a major
mess. I assumed that I'd munged something in my image and simply
reinstalled the 2.3 beta from the sit file. Now, after hearing your
experiences I think it might be more general than my usual pilot error.

Just checked 2.3 on NT here at my office and it does the same thing;
starting with update 320/321-ish dated in September.


Tim Rowledge wrote:
> I uploaded the latest upgrades that Dan announced just to check out some things
> and found:-
> - 248 changesets came up the wire. This seems rather more than the 110 mentioned
> - several changesets caused notiifers complaining of class variables still
> being in use whilst changing a class defn.
> - the Cursor is now demented. Moving into a 'normal' view no longer sets the
> cursor to the normal cursor - it gets left as the last 'wierd' one, like the
> menu cursor or the wait cursor.
> Just FYIs.
> tim
> --
> USER ERROR: replace user and press any key to continue.
> Tim Rowledge:  rowledge <at> interval.com (w)  +1 (650) 842-6110 (w)
(Continue reading)

bacon | 6 Jan 16:20 1999

Re: GTalK 0.01

On  6 Jan, Joerg Brunsmann wrote:
> Hi,
> if you're interested in native widget support on Linux:
> http://www.informatik.fernuni-hagen.de/import/pi3/joerg/squeak/gtalk.html
> Jörg

Hey!  That was my idea. :-)  Good job.  

It would be great to see linux applications export their object
interfaces to squeak so that it could be used as an extension language. 
I would like to see a push to use this as the extension language for


Fred Bacon

Aerodyne Research, Inc.                   Phone:   (978) 663-9500 ext. 273
45 Manning Rd.                              FAX:   (978) 663-4918
Billerica, MA  01821-3976                  http://www.aerodyne.com
                     Me spill chucker woks grate. I needle gramma chicken.