Life is complex; it has real and imaginary parts. -- Gregory Benford

JSqueak

Last Updated (Tuesday, 09 September 2008 18:31)     |    Written by Administrator     |    Tuesday, 09 September 2008 18:11

Attention: open in a new window. PDFPrint

FAQs - Free Smalltalk Environments

More ...

JSqueak is a Squeak interpreter written in Java. Dan Ingalls wrote it to teach himself NetBeans and Java in the fall of 2006. Although he thought of it as a throw-away project, it has features that recommend it for further useful service:

  • It is simple
    • Uses Java objects and storage management
    • Uses Java Integers for SmallIntegers
  • It is general
    • A weak(*) object table enables enumeration and mutation
  • It is efficient
    • Includes a method cache and an at-cache (**)
    • Also a cache of common SmallIntegers

    (*) - This does not mean wimpy -- it's a good sturdy object table -- it just doesn't hold onto garbage.
    (**) - This is not an automated teller machine, but a device that speeds up array and stream access.

These properties make it a reasonable base for teaching about VM design.

Because this VM uses Java objects for its Smalltalk objects, it is possible to send Smalltalk messages to those Java objects, and possible to send Java messages to the Smalltalk objects they represent. There is no added any support for this cross-language capability, but the architecture should support it fairly well. The significance is that it could facilitate a marriage of the dynamic benefits of Smalltalk to the vast world of serious Java libraries and applications.

As of this release, JSqueak is less than 5000 lines of code. It runs the Mini2.1 image, which is included for convenience. This image contains a complete Smalltalk development environment, including:

  • Rich text and Text editor

  • File browser (no file access in VM yet)

  • Decompiler (plus temp-name hints)

  • Code Browser

  • Compiler

  • Source code debugger

In all, this image decompiles to over 850k of source code, and yet it is only 600k in size (360k gzipped). It's like source code compression with an integrated development environment thrown in for free. The entire .jar file with image and VM is less than 450k bytes.

A number of things should be finished or improved if this VM is to see further use. If you wish to track or contribute to such projects, please add yourself to the JSqueak Interest mailing list.


blog comments powered by Disqus

Login


If you don't want to register in this site, you can use your Gmail or OpenId authentication.



Smalltalk on Twitter

rollspelnu (Rollspel.nu) : !8ball will Dnalor ever find some pussy in the smalltalk? ^R

Fallingnephilim (Falling Nephilim) : #superspezialfollow goes to a very nice sweettweet always up for a nice smalltalk #FF now @DarkEnigma17

BoT_smalltalk24 (smalltalk-24) : - schau mal - www.smalltalk-24.de RT @ilkerde (Ilker Cetinkaya):@lennybacon macht session und #smalltalk gleichzei... http://bit.ly/bQH1nJ

BoT_smalltalk24 (smalltalk-24) : - schau mal - www.smalltalk-24.de RT @AnniCartman (Prinzessin Arschloch):"hi! ich bin 17w und blond, hat jemand lu... http://bit.ly/99O6Vw

Paypal Donation

Please, make a Paypal donation at least of 1 dollar! Thanks!

AddThis Feed Button