QuickSilver Version 0.2

February 4, 2011

QuickSilver Version 0.2

QuickSilver Version 0.2

http://www.silversmalltalk.com/index3.html

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
==>
Number

123.45 class class
==>
Number class

123.45 class class class
==>
MetaClass

'hello world' class class class class
==>
MetaClass class

123.45 class class class class class
==>
MetaClass

123.45 class superclass
==>
Magnitude

123.45 class superclass superclass
==>
Object

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).

Advertisements

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 )

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: