JavaScript Version of Silver Smalltalk

January 20, 2011

The JavaScript version of Silver Smalltalk is nearing completion.

I am adding classes that wrap the functionality of the ExtJs JavaScript library. Hopefully, in a couple of days, there will be a functioning class browser and some object inspectors.

The JavaScript version was built first in Java which was then compiled to JavaScript using Google’s GWT compiler. There are also a number of internal methods based on Google’s JSNI (JavaScript Native Interface) to link the interpreter to resources in the environment.

The STVM.js file is approximately 112kb in size and includes the Smalltalk parser, compiler, and bytecode interpreter. This version is functionally equivalent to the Silverlight version and should run in any browser that has JavaScript enabled – there are no plugins (Flash or Silverlight) required.

I am using the ExtJs library because it is the most capable one that I am familiar with. However, any other JavaScript library could be used in its place – jQuery/UI, jQuery, Ext Core, etc.

There will be several more posts about SST/Js as it matures including the use of common Smalltalk libraries between SST/Silverlight and SST/Js and sending objects between the two versions.

Here is a link for anyone who wants to experiment:
http://www.silversmalltalk.com/index2.html

Try executing “W := Window new” to see a new Window open.

Advertisements

2 Responses to “JavaScript Version of Silver Smalltalk”

  1. Chip Nowacek Says:

    Any comment on how SST/JS is different than Dan Ingalls’ implementation (about which I know very little)?

    • Peter Fisk Says:

      Dan Ingalls is working on “Lively Kernel” in JavaScript.

      “Lively Kernel” isn’t very much like Smalltalk-80 (AFAICT).
      He has been able to access the browser internals for rendering and completely bypass the HTML/CSS/DOM rendering. At least, that is my understanding of what he is doing.

      Dan Ingalls is the man most responsible for engineering both Smalltalk-80 and Squeak. IMHO, he is a true genius.

      “Lively Kernel” is probably the next breakthrough technology, but it seems to push current browsers to the limit. Maybe in 5-10 years it will be mainstream.

      SST/Js is designed for what browsers can do today – it just make Smalltalk-80 available in the browser. No breakthrough technology.

      — Peter


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: