Paolo Bonzini's blog
A killer feature: copy-on-write #copyFrom:to:
A killer feature that I would like to add is copy-on-write string handling. For a good example, see this post on ruby-talk (aka comp.lang.ruby):
- When you take a substring in Ruby, it doesn't copy the string data. Instead, it just constructs a new string object (just a few words of memory) that references into the original string. Only when either string is modified does the string content get copied.
GNU Smalltalk 3.0 released
GNU Smalltalk 3.0 has been released at
ftp://ftp.gnu.org/gnu/smalltalk
The release was tested on the following systems:
- i686-pc-linux-gnu
- x86_64-pc-linux-gnu
- powerpc-apple-darwin8.9.0
- powerpc-unknown-linux-gnu
- sparc-unknown-linux-gnu
- ia64-hp-linux-gnu
- s390-ibm-linux-gnu
- hppa-hp-linux-gnu
Thanks to Stephen Compall, Thomas Girard, Robin Redeker for help and testing of this release!
News from 2.3.6 to 3.0
(Changes from the last release candidate, 2.95h, are listed later.)
Important changes:
Fun with Generators
Sometimes I just wander around in blogs looking for cool snippets in other programming languages. Since the upcoming GNU Smalltalk 3.0 will have some features from Python and Ruby (most notably generators), it is nice to test corner cases and see if GNU Smalltalk's behavior matches what happens in other languages.
I came across two implementations of the power-set function in Python, a recursive and an iterative one:
# by Guido van Rossum
def power(s):
if len(s) == 0:
yield Set()
else:
# Non-destructively choose a random element:Lights and shadows of floating point in GNU Smalltalk
http://www.fourmilab.ch/fourmilog/archives/2007-10/000906.html
For a dynamically-typed pure object-oriented language, the performance delivered by GNU Smalltalk is impressive. The benchmark ran more than twice as fast as Python and 3.4 times the speed of Ruby—“modern” languages often considered descended from Smalltalk. GNU Common Lisp in compiled mode just edged out GNU Smalltalk by about 2%.
Experiences with GNU Smalltalk
- Parser: partially completed
- http://16languages.blogspot.com/2007/10/ive-found-myself-creating-kind-of.html
- El Smalltalk que no miramos (Spanish)
- http://diegacho.blogspot.com/2007/10/el-smalltalk-que-no-miramos.html
- New GNU Smalltalk Site Launched
- http://onsmalltalk.com/programming/smalltalk/new-gnu-smalltalk-site-launched/
- Gnu-Smalltalk a un site web (French)
- http://doesnotunderstand.free.fr/?p=406
