Dan,
Thanks for giving an incredibly apt example of what I meant when I said that Smalltalk may be the only language really well suited to UI development. It's a combination (dare I say, "synergy" -- whoops, guess I do) between the design of the language, and the environment that it usually "lives" in.
Well, thanks for many other things too, while I'm at it. :^)
Nick
On Wed, 30 Sep 1998, Dan Ingalls wrote:
I have to relate an anecdote from the early days. We were using Smalltalk-76, the first Smalltalk that performed well enough to support serious software (it had the same engine as Smalltalk-80, and a simpler body ;-). There was a student (I can't remember who this was) on one of the Alto's in the corridor who was having fun implementing a Fraction class (there wasn't one built in). He came over and asked me to give him some help because he had gotten things in such a shape that something was preventing the screen from redisplaying successfully when he proceeded from the debugger. I went over and started to paw around, and discovered fairly soon that the bottom-level call on BitBlt was recieving Fractions as parameters, and was therefore failing. As I looked around to see how that happened, I was astounded to find that the entire browser in question had fractions in practically every point and rectangle in all its views and subviews. I asked him about this, and he said, "I just reframed it, but maybe it was because I made divide return a fraction." I said, "Hmm, maybe so. What do you send to a Fraction to get the integer part?" He told me. I added the coercion to BitBlt's fail code, and the whole thing proceeded to run just fine when I restarted the method. I remember feeling almost dizzy on the way back to my office.
-- Nick Vargish patriot.net/~nav nav@patriot.net Unix Systems Engineer; C, C++, Java, Perl, Tcl, Lisp, Shell; Internet Security I believe in private and trustable communication; PGP key available on request Louis Freeh, decrypt this: SHPX LBH!