ANSI compatibility [was: Re: nil or #nil?]
R. A. Harmon
harmonra at webname.com
Thu Sep 24 21:40:51 UTC 1998
At 11:13 AM 9/21/98 -0700, Dan Ingalls wrote:
>THE BIGGER ISSUE
>As you (may) know ANSI compatibility is of no importance to me, *except* that
>I know it affects the synergy of this community with the larger Smalltalk
>community, and that *is* important to me.
>A possible process for moving forward here would be for "a few good Squeakers"
>to step forward and work together to propose some reasonable set of changes
>would maximize ANSI compatibility, while minimizing any detriment to Squeak's
>current direction. What I have in mind is a sort of "10 most wanted" changes
>rather than a massive overhaul.
>So, maybe folks would like to propose their "10 most wanted" changes for
>compatibility, and/or announce their willingness to work together over the next
>month or so to assemble such a package. My role would be limited to reviewing
> suggestions and code, and coordinating an orderly progress of code updates.
I'm still learning Smalltalk and am self taught--it shows. Most of my
experience is with Smalltalk Express (SE) and some with Squeak and Dolphin
I have implemented a flawed, first-cut, pre-alpha, proof-of-concept, partial
implementation of the proposed ANSI standard Smalltalk in Smalltalk Express
(SE). Partial because the ScaledDecial class and a few other methods have
not been implemented as I just didn't know how to do some things. I've
ported the SIF reader/writer, and the Fundamental, Valuable and, Exception
protocols to Squeak. I have not posted it publicly because I wanted to
implement it in a fairly platform independent way (possibly with macros),
hoped to get some help getting exceptions reliably implemented, get some
feedback on implementing the SIF format reader/writer better, and get a
Given my slow pace, and Dan's suggestion, I think it's time for me ask if
there anyone interested in taking a look at my ANSI exception handling stuff
to see if they can make it reliable, or at the SIF format reader/writer to
see if it is an acceptable for a first release.
If so, in a week or so I will mail them the SIF reader/writer, and the
Fundamental, Valuable and, Exception protocols to Squeak that I've got so
far. I'll finish up porting the rest of the ANSI stuff which won't take
more than 2 - 4 weeks. With reliable exception, an acceptable SIF
reader/writer first release, and rest of the ANSI stuff, I'll then post the
complete Squeak proposed ANSI standard Smalltalk enhancement.
I think with a swiki page for people to add bug reports and fixes for them
the community would produce in a relatively short time a robust, reliable,
reasonably compliant Squeak proposed ANSI standard Smalltalk enhancement
that we might want to incorporate into the base Squeak.
I would not be able to coordinate the effort as I don't play all that well
If no one is interested, has the time, or is able to square away exceptions,
I'll keep plugging away at it. I might take me a fair amount of time to
understand exceptions fully enough to get it right.
I know my stuff isn't ready for prime time and I have no idea if it is
acceptable, usable, or completely useless as I haven't worked with anyone
else. I'm pretty sure that it would be useful for folks to at least see the
pieces (what messages in what classes) are probable required by ANSI. I
think if folks are presented with all the pieces, correcting or
re-implementing some things is easier than trying to build the whole thing
or even trying to build subsystems of it.
Note I started with VSExceptions for Squeak and after unmercifully hacking
it up beyond recognition to add the ANSI stuff, I think it works. Some of
the exception methods dealing with resumption aren't implemented or don't
work. I'm completely out of my depth with exceptions.
The SIF format reader/writer is very fragile, and I think the ugliest
implementation I can imagine. It reads and writes ANSI SIF files just fine,
but my teeth hurt every time I look at the implementation code. I'm now
doing a second cut at the SIF format reader/writer.
I haven't documented my stuff yet so that it is usable for folks without a
GREAT deal of perseverance and an extensive Smalltalk knowledge so they can
follow my clumsy code.
I would love to have others try it out, find bugs, implement those areas I
have deferred, and just generally give me comments (good or bad),
suggestions, and alternatives.
Richard A. Harmon "The only good zombie is a dead zombie"
harmonra at webname.com E. G. McCarthy
More information about the Squeak-dev