|
Version 1.1.1
(Dave Griswold) -This release consists of
just a couple of things that came up shortly after the
first public release to address some issues people were
having:
A
Benchmarking Guide has been added to the documentation to
help people avoid some very common benchmarking
traps.
A performance bug is fixed in
Dictionary>>at:put: that caused it to
allocate an Association even when an entry
already exists for the key. This was fixed a long
time ago, but apparently the fix got lost. This
speeds up replacing dictionary values by about
32%. It ought to be even faster- the code
generator must not be producing good code for
this for some reason.
Support for file-ins in basic
Squeak format is now supported. This is just for
simple classes and methods, and has one big
caveat: the class must not have a class comment.
Primarily useful for moving benchmarks around.
Classes in this format can be filed into
VisualWorks, too, if you remove the 'stamp:'
keywords on the method chunk headers.
Version 1.1
This release consists of contributions
from
Bugs/Limitations
Fixed: one of the typechecker
error display bugs -D.G.
Fixed: Now works on Windows XP -
D.G.
The new dialog boxes I added to
keep track of whether source changes have been
made, only keep track of things that modify the
change log. Other changes (specifically creation
of a new category) aren't noticed, and don't by
themselves cause the quit dialog to prompt you. I
need to fix this at some point, although it is
rare to just modify a category without modifying
any method. -D.G.
otherwise, same as 1.0
Version 1.0
This is the original release from Sun
Microsystems, Inc. Most of the work done internally at
Sun to get this ready for release was done by Gilad
Bracha and Robert Griesemer.
Bugs/Limitations
System
UI
- The HTML browser is very limited. It's main
purpose is to demonstrate smapplets, and to allow
active Smalltalk code to be integrated into the
documentation. If what you see is messed up, or
if you get crashes or complaints about
unrecognized tags, try a real browser (or fix the
bug!). In particular, don't expect to view PDF or
run plugins or anything like that.
- Color support is ancient and ridiculous. Palette
support had just been written, but not gotten
working, when original work on the system
stopped. So there are only the16 system colors
right now (!). I hope to fix this at some point
soon (D.G.)
- There's a known problem when outliners are opened
all the way to the bottom, then closed and then
redrawn. The layout can get messed up.
- Closing a browser (other than a text editor) that
has unaccepted changes deep down inside doesn't
warn you that you are about to lose the changes.
There is a framework for fixing these sorts of
issues, but it has never been completely applied.
- There is a known memory leak in the Browser
caused by the fact that a dependency isn't
released on closing, which causes accumulating
dead dependencies in the dependency dictionary.
Fixing it the right way might be pretty hard
without weak pointers, although a hack might
work.
Programming Environment
- moving a method between a public and private
category doesn't always update the visibility of
the method. As a workaround, just reaccept the
method once you've moved it.
- Someone added an interesting 'meta' hack to
easily inspect the Application for a window, but
this crashes the system for some applications,
such as workspace.
- Under some more unusual situations the reflective
interface can corrupt the image, for example
sometimes when changing the superclasses of all
the subclasses of a class, then removing the
original superclass. If the image becomes
corrupted this way, you can fix it by filing out
and then filing in all the affected code, which
forces it to be rebuilt.
Type system
There are a variety of shortcomings and bugs in the
typechecker, but here are some of the main ones you may
encounter:
- Unions often don't work right. You may encounter
error messages that say things like
"[^Boolean | Boolean] is not a subtype of
[^Boolean]"
- Sometimes the error messages are cryptic or
apparently unrelated to the real problem. This is
usually due to cascading errors.
- There are some error display bugs that may cause
crashes.
- inherited types don't work right now.
- "typecheck world" in the launcher
crashes right now.
- "typecheck all classes" in hierarchy
browser doesn't produce the same results as
typechecking all the classes individually right
now; not sure which one is right. this needs to
be fixed.
|
|