help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-smalltalk] GNU Smalltalk version 2.95a released


From: Paolo Bonzini
Subject: [Help-smalltalk] GNU Smalltalk version 2.95a released
Date: Wed, 11 Apr 2007 18:00:44 +0200
User-agent: Thunderbird 1.5.0.10 (Macintosh/20070221)

With the new changes going in, I took the opportunity to release
an alpha version, GNU Smalltalk version 2.95a. Yes, the version number is correct; this is the numbering leading to GNU Smalltalk 3.0.

  ftp://alpha.gnu.org/gnu/smalltalk/smalltalk-2.95a.tar.gz

The version is is known to work on i686-pc-linux-gnu, powerpc-darwin, x86_64-pc-linux-gnu, but it has received less testing than usual from the community; it also has known testsuite failures (mutate.st). Even with all these caveats, I believe it is a good starting point for alpha testing.

Most bugs should only affect the new syntax. However, of course, bug reports are welcome for both new syntax and backwards-compatible stuff.


NEWS FROM VERSION 2.3.3 TO VERSION 2.95a

* Widely improved usage for scripting

** A completely new syntax for defining classes is now present.  This
will be detailed in a future announcement and in the documentation,
and has been discussed on the mailing list.

** Interaction at the read-eval-print loop is much easier.  Periods
at the end of a line are now optional, objects are printed using their
printOn: method, temporaries are declared automatically, and the result of each statement is evaluated and printed separately. The tutorial was adjusted

* A different startup sequence is used which improves the possibility to
customize GNU Smalltalk, both site-wide and per-user.  The details are
in the manual, the main changes are these: the `.stinit' and `.stpre'
files are now named `.st/init.st' and `.st/pre.st'; files requested
with the `-K' command-line option are sought for in the `.st' directory
too (in the home directory); kernel files may be overridden by placing
them in `.st/kernel'; a site-wide customization file can be placed
in `/usr/local/share/smalltalk/site-pre.st'.

** The kernel path is stored in the image and not changed when the image
is loaded.  In addition, `Directory systemKernel' and `Directory
localKernel' are not used anymore, and just return the same as
`Directory kernel'.

** Finally, Smalltalk programs have access to the aforementioned `.st'
directory as `Directory userKernel' (name subject to change).  A
`packages.xml' file can be put there.


* Startup time and quit time were improved widely (the time for running
a simple "Hello, World" program is about one fifth of 2.3.x).

** Image load uses copy-on-write memory mapped files.  This means that,
as long as a loaded object is not touched, the operating system will map
it to the same physical memory, for different copies of the GNU
Smalltalk virtual machine that loaded the same image.


* The image is now installed in /usr/local/var/lib/smalltalk (which in
most distributions will map to /var/lib/smalltalk).



Other, minor changes include:

* Added #from: to Collection, which constructs an instance of the class
based on a conveniently specified Array.  This allows one to construct
Dictionaries or LookupTables using

        Dictionary from: { 1->2. 3->4 }

* A pragma like "<category: 'bar'>" can be used to set the category
of a method.

* Directory entries are passed to #allFilesMatching:do:'s block argument
if they match aPattern.  As before, the function descends in all the
directories, even those that do not match aPattern.


Bug fixes brought in from the stable branch (will be in 2.3.4):

* Fixed bug in socket #nextHunk implementation, which lost the first
or second byte in the input buffer.

* Fixed paths in the image when "make DESTDIR" was used.

* Fixed implementation of Dictionary>>#addAll:, and fixed
Integer>>#binomial: when the argument is 0 or self.

* Fixed various minor bugs and imprecisions in the documentation.

* Some libffi files (for IA64 and PA) were missing from the
distribution.


Paolo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]