QuickSilver Version 0.2

February 4, 2011

QuickSilver Version 0.2

QuickSilver Version 0.2


Release 0.2 of QuickSilver is ready for download and you can grab the JavaScript source code here.

The demo in the image above shows an example of executing a block closure.

| blk a b |
a := 4.
b := 5.
blk := [:x :y | a*x + b*y].
blk value: 15 value: 77

which produces a result of 5005 – and running the same code in Squeak also produces 5005.

Version 0.2 has several new features:
— a system dictionary named ‘Smalltalk’
— execute “Smalltalk keys” to see names in global dictionary
— complete object system including classes and meta-classes
— some basic methods including “basicNew”, “class”, “superclass”

You can now use global variables:

X := [:a :b | a*3 + b].
X value: 4 value: 5
==> 17

Again, the code works exactly the same way in Squeak.

The class system works the way that you would expect:

123.45 class

123.45 class class
Number class

123.45 class class class

'hello world' class class class class
MetaClass class

123.45 class class class class class

123.45 class superclass

123.45 class superclass superclass

You can also now create instances of objects:

Dictionary basicNew
a Dictionary

Of course, there is lots of stuff still missing.

By tomorrow, there will be:
— the ability to add new classes
— add methods to classes
— send messages to objects
— initial loading from a “startup.st” file

Getting the object system working was a bit complicated because there are a number of circular dependencies. However, it seems to be working correctly now.

Another day or so and we can start building some basic QuickSilver tools (in QuickSilver Smalltalk).


2 Responses to “QuickSilver Version 0.2”

  1. John Kimber Says:

    Using single quotes

    ‘hello world’ class class
    String class

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 )

Google+ photo

You are commenting using your Google+ 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 )


Connecting to %s

%d bloggers like this: