[ENH] New idea: Integrated spreadsheet support for Squeak

Dirk Wessels icircle at xs4all.nl
Sat Oct 27 12:11:27 UTC 2001


With all computer languages I have the problem that there is hardly any
possibility for
creating table structures. While C++ and pascal support things like
matrix[x][y] and things
like that and APL supports even more, I don't think they really solve what I
would like.
Even a case statement is very clumbsy in other languages, and is lacking in
smalltalk.

Because smalltalk is the most flexible language, I would like to suggest
that we could
implement integrated spreadsheet support in Smalltalk.
And use this facility to implement:
 1) constant tables = flexibility
 2) integer and floating-point calculations  = speeeeed
 3) block tables = case statement
 4) data tables = database support
 5) matrices = matrix & math support

It would be handy to create a table in your method and just say:

MyTable atCol:1 atRow:2 put: 5.5.
MyTable update. "This recalculates the contents in the table"
result:= MyTable atCol: 3 atRow: 2.
^result.

I have implemented my own spreadsheet in Pascal where I defined some
positions as variables.
MyTable:=
{ {  "This"  "is"  "a"  "Table" }
   {  0:input  3.14:pi  =input*pi:angle  =sin(angle):output }
   { 0  0  0  0 }
   { "traditionally:"
   { 0  3.14   =A5*B5  =sin(C5) }
 }


MyTable at: $input put: 5.5.
MyTable update.
result:= MyTable at: $output.

Or similar:

mode:= inputMode.
pos:= MyTable find: mode inRange: searchRange.
result:= MyTable at: (pos addRow:1).


Within the table, one might even connect with other tables.
Or even databases...
I have added a spreadsheet support to my own commercial application and it
gives quite a difference. So I thought, why not have it in squeak too??

For now, it is just an idea, but that is how things start..

Greetings,
    Dirk






More information about the Squeak-dev mailing list