[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
|