Core Icon Glossary

, , , , , , , , , ,
Using these number icons, you can specify integer constants. A number must start with which pushes a zero onto the data stack. This is then followed by decimal digits which each in turn multiply the current top of the stack by ten and then add in the face value of the digit. For example the number 42 is represented as .
Add the top two values on the data stack and place the result back on the data stack.
Subtract the top most value on the stack from the second to the top most value. Replace these two values with the result.
Multiply the top two values on the data stack and place the result back on the data stack.
Logically OR the two values on top of the data stack together and place the result back on the data stack.
Logically AND the two values on top of the data stack together and place the result back on the data stack.
Negate (flip the sign) of the value on the top of the data stack.
Drop the top element from the data stack.
Swap the top two values on the data stack.
Duplicate the top element on the data stack.
Double the size of the top value on the stack (multiply by 2).
Halve the size of the top value on the stack (divide by 2).
Move one value from the data stack to the return stack.
Move one value from the return stack to the data stack.
Emit a single character to the console. The ascii code for the character is taken from the top of the data stack. In reality this character is just added to the HTML content of a div. This means that some characters must be escaped in order to appear. It has the advantage that abtitrary HTML can be added using this icon.
Print the value on the top of the stack to the console. Sad that this got included as an intrinsic, but it seemed easier at the time.
Take an event from the event queue and place it on the data stack. Events consist of three values: x coordinate, y coordinate, event type. And event type of zero indicates that no events are present.
Halt all execution and ignore all further events.
Load the value in memory from the address at the top of the data stack. Store the result to the data stack.
Store the second-to-the-top-most value on the data stack to the memory location addressed by the top-most value. Remove these two values from the data stack.
Repeat the following icon forever. Unless otherwise stopped.
Take a value off the data stack. Only execute the next icon if that value is non-zero.
Compare two values, deciding if the first is less than the second.
Compare two values, deciding if they are equal.
Move the pen to a particular x,y coordinate without drawing.
Draw a line in the current color to a particular x,y coordinate.
Draw a rect in the current color to a particular x,y coordinate. The current pen location does not change.
Select the drawing color, use a single packed 24-bit integer. Red is in the high byte, blue in the low byte.
Select the drawing color, use a single packed 24-bit integer. Red is in the high byte, blue in the low byte.