[squeak-dev] Updated trunk image (Squeak3.11-8720-alpha.zip)

Andreas Raab andreas.raab at gmx.de
Sat Jan 2 13:32:10 UTC 2010


Folks -

After a whole batch of changes, I'v put an updated trunk image up at

	http://ftp.squeak.org/trunk/Squeak3.11-8720-alpha.zip

Loads of great new stuff in there as you can see from the summary of 
changes below. Since the summary is getting a bit too long for my taste, 
I'm starting to only include the three most recent updates in email - if 
you want the full list please download the image and refer to the full 
summary in the "What's new" window. And if people disagree with this 
policy I'd be happy to change it again - I'm just trying to cut down on 
the spam factor a little. So let me know what you think.

Cheers,
   - Andreas

(for the full history refer to the "What's new" section in the image)

[------------------------- updated 01/02/10 ---------------------------]

NanoTraits
----------
A new traits implementation has been added. The implementation is 
significantly smaller and simpler than the old version and can be 
unloaded and reloaded without loss of information (i.e., traits 
flattened during unload are restored during traits reloading). To unload 
traits simply execute:
	Trait unloadTraits.
To restore traits load the traits package from the repository at 
source.squeak.org.

TextDiffBuilder
---------------
A new algorithm for producing text diffs has been added. The algorithm 
is smaller, faster, and provides better results compared to the previous 
implementation.

Source / Changes Files
----------------------
Sources and changes files are no longer limited to 32MB max size. 
ExpandedSourceFileArray provides an implementation for source files of 
arbitrary length, based on the CompiledMethodTrailer changes.

CompiledMethodTrailer
---------------------
Handling compiled method trailers for storing source code has been 
generalized. The new representation deals more explicitly with various 
forms of encodings (source pointer, temps-only, etc) and has room for 
future extensions (i.e., retrieval from other sources).

Future Messages
---------------
Support for the future/future: keywords has been added. Future messages 
enable sending messaging at a later point in time. Timed futures allow 
sending messages a specific number of miliseconds into the future, 
futures without arguments are executed at the earliest convenience. For 
example a message like:

MyMorph>>mouseDown: event
	self color: Color red.
	(self future: 1000) color: Color white.

will turn the given morph red and one second later back to white.

[------------------------- updated 12/12/09 ---------------------------]

Image Version
-------------
The new version scheme is now active. The image version number is the 
sum of all package versions. A stub package "Squeak-Version" has been 
added to define the "base" number for the version. This image is 
designated as "Squeak3.11.alpha".

Morphic
-------
New window resizers better in tone with the general UI look. A new 
UserDialogBoxMorph for simple modal inform/confirm dialogs.

Files
-----
StandardFilestream now performs read-buffering, dramatically speading up 
some operations like "Object compileAll" (2x improvement) as well as 
various other operations (scanning change lists etc).

Numbers
-------
Implementations for Float #predecessor, #successor etc. Update to the 
compact class indexes of LargePositiveInteger and LargeNegativeInteger 
for Cog. Additional tests for all of the new features.

Exceptions
----------
OutOfMemory has been added as a standard exception being signaled when 
an allocation fails, replacing the previous signaling of the low space 
semaphore. Improved #ensure: performance avoiding remote context 
manipulation (via #tempAt:put:) in the default case.

SUnit
-----
Faster execution by speeding up some low level operations (like 
allTestSelectors). Fixes for thumbnail creation which would leave open 
morphs around after some tests.

Kernel
------
The default hash for all objects is now a scaled identity has to avoid 
extreme degradations in speed when using large numbers of objects 
without explicit hash implementation in Dictionary and Set.

[------------------------- updated 11/28/09 ---------------------------]

Menu Bar
--------
Squeak now has a standard menu bar to make it easier to discover its 
contents for new users, replacing the World menu as the prime source for 
launching tools and other activities.

Compiler
--------
Support for literal ByteArray syntax has been added. Byte arrays can now 
be written as #[1 2 3 "..."] instead of #(1 2 3) asByteArray  avoiding 
the need for conversion and a more compact default representation.

Numbers
-------
Some prime related changed: Integer>>isPrime is now a deterministic 
test, Integer>>isProbablyPrime a probabilistic variant. Intger>>highBit 
and Integer>>lowBit have been sped up significantly.

CRLF Handling
-------------
CR and LF are now treated interchangeably in rendering. Both cause a 
line break and both are not displayed. Various line related methods have 
been updated to deal with both CR and LF.

Collections
-----------
Dictionary is no longer a subclass of Set. HashedCollection is the new 
superclass for both Set and Dictionary. Conversion of OrderedCollection 
and SortedCollection to Arrays has been sped up significantly.




More information about the Squeak-dev mailing list