[Pharo-project] Bye, bye Jtalk... Hello Amber!

Nicolas Petton petton.nicolas at gmail.com
Wed Sep 14 00:35:56 CEST 2011


As some of you may know there is a new Smalltalk in town - and up until 
today it was called Jtalk. After a furious three week development
period 
after the ESUG 2011 conference (where Jtalk raised some eyebrows) we
are 
now making a first release humbly numbered 0.9. We are also taking the 
opportunity to pick a slicker name for Jtalk - Amber!

New website is at:

        http://www.amber-lang.net

So, why would you take a look at Amber?

In our opinion Amber is perfectly positioned for the HTML5 onslaught
and 
the explosion of all-things-javascript like for example Nodejs. It is a 
Smalltalk that plays well with others and can seamlessly use Javascript 
libraries.

At the same time Amber feels like a *real* Smalltalk, the environment
is 
all there including Workspace, Transcript, Browser, 
senders/implementors/references to class, TestRunner, Inspectors, code 
editing with syntax coloring and a Debugger. There is no image, but all 
compilation is incremental.

Below follows a summary of the massive changes since ESUG that
triggered 
us to make a first release.

We hope you join us in developing Amber and having fun! There is
already 
work being made in using Amber on top of Java using Rhino, using Amber 
for making games and lots more. Fork at github, join in #amber-lang on 
freenode and hop onto the mailing list.

regards, Nicolas & Göran

(and thanks to Laurent, David, Bernat, Stefan, Raimon, Alexandre, Dale, 
Juraj, Ken, Pavel and everyone else that have been involved)
---------------------------------------

Language, compiler and runtime

- New 100x faster parser built using PEGjs instead of the old parser 
built using PetitParser.
- New much faster ChunkParser implementation in handwritten Amber 
instead of using PetitParser.
- Improved parsing error report with quoted source code plus marker 
pinpointing parsing error.
- Removed PetitParser since it is no longer needed by Amber itself.
- Added compiler optimizations in the form of speculative inlining of 
specific messages and control structures.
- Added support for dynamic Arrays, just like in Squeak/Pharo.
- Added support for similar dynamic Dictionaries, not seen in other 
Smalltalks.
- Added & and | as allowed binary selectors and implemented them in
Boolean.
- Added a Set implementation.
- Added basic support for Packages, dependency management coming soon.

...and various extensions, enhancements and bug fixes to the library 
classes.


Development environment

- A working Debugger with integrated inspector, proceed etc.
- A structure with multiple different Amber environments in different 
directories.
- A working amberc command line compiler including a Makefile for 
recompiling the whole Amber.
- Enabled TestRunner in the IDE for running unit tests based on SUnit.
- Added "File in" button in Workspace to easily paste and filein source 
code in chunk format in the IDE.
- Added "Rename package" and "Remove package" buttons to browser that 
use the new Package model.
- Added a standalone webDAV server in Amber so that it is simpler to
get 
up and running and able to commit code locally.


Example code and ports

- Ported ProfStef interactive tutorial, available on Amber homepage 
(www.amber-lang.net/learn.html) but also in examples directory.
- Included the ESUG presentation as an example also in the examples 
directory.
- Several new examples running on Node.js and webOS included, all with 
Makefiles.


Various other things

- Issue tracker on github now used as primary source, closed a bunch of 
reported issues.
- Wiki pages on github with information on how to port code from other 
Smalltalks, lists of articles, tutorials, roadmap and more.

-- 
Nicolas Petton
http://www.nicolas-petton.fr




More information about the Pharo-project mailing list