On Fri, 30 Jul 1999, Alan Kay wrote:
I agree Andreas -- but we could also point the finger at Smalltalk-80 and ask why doesn't it have a slot class that would allow us to change the meaning without having to worry about what the code looks like ...
It sounds like the ideal situation would be to have a single standard way of accessing variables in source code, such that trivial accessor/mutator methods of the "^var" or "var := param" form would *never* need to be written. So, all you'd have to do is add a (non-trivial) accessor or mutator method, and then all variable accesses would be funneled through these, without having to change any source code.
I guess this must be how slots work in Self? (I wish I still had a Sun, so I could try out Self myself... :) )
(There would then still need to be an alternate way of accessing the variable directly in the cases where it was necessary to avoid an existing accessor/mutator method, but this use would be less common, and very private, and the source to do this should be more verbose than the standard access described above. I guess this is more or less what Andreas Raab just said in his last post.)
It would be fantastic if something like this eventually made it into Squeak... it would render this current argument obsolete. I don't know offhand what the best implementation would be, though. And it's obviously more of a blue-plane thing, and very non-ANSI compliant. :)
- Doug Way EAI/Transom Technologies, Ann Arbor, MI http://www.transom.com dway@eai.com, dway@mat.net