Using the Web Interface

Create a new image.
Load a previously saved image from disk.
Save an image to disk.
Run the current image. That means evaluate whatever code is in System.sysin. Results can be written to System.sysout.
Persist the current image in the browser’s cache. You can then undo/redo using the browser’s back/forward buttons.

Add (class)
Create a new class with Common as its ancestor.
Specialize (class)
Subclass the current class.
Remove (class)
Delete the current class and all descendants.
Add (attribute)
Create a new attribute for the current class.
Specialize (attribute)
Change the value of an attribute from its inherited value.
Remove (attribute)
Remove the attribute if it is defined on the current class or remove the specialization.
Add (method)
Create a new method for the current class.
Specialize (method)
Overload the current method.
Remove (method)
Remove the method if it is defined on the current class or remove the specialization.
Text Editor
Edit class constructors, attribute values and method definitions. Attribute values are assumed to be strings unless they are parsed successfully as another primitive type (number, regular expressions etc). To force a string, wrap the value in quotes.

The Common Class

A brief description of the root class. All common objects share the interface below:


Use inherit to execute the ancestor of the current method.

If a method has been overloaded, inherit provides access to the overloaded method. This applies to constructor functions as well as methods.


Apply the interface of another object to the current object.

For example:

var rect = new Rectangle(0, 0, 100, 25);
// rect has properties: x=0, y=0, width=100, height=25

var circ = new Circle(50, 50, 25);
// circ has properties: x=50, y=50, radius=25

// rect now has properties: x=50, y=50, width=100, height=25, radius=25

If a method is overloaded as a result of using the specialize method, then access is provided to the overloaded method using inherit as described above.

The System Class

Not written yet.