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:
[snip]
>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
that
>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.
[snip]
>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
Smalltalk.

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
ScaledDecial implementation.

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
with others.

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 mailing list