[self-interest] have to get this off my heart

ungar at mac.com ungar at mac.com
Thu Dec 30 22:57:15 UTC 2010

An excellent question!

Coming from Smalltalk, it seemed reasonable and useful for an object to be able to create a store-string for itself at base level.
For example a point knows about the "@" method, to it's compelling that, as part of its non-meta-level behavior it should know to do
( <x storeString> ) @ (<y storeString>). The prototype method is needed to implement storeString, since the prototypical point cannot be rebuilt the same way.
However, I think one could make a good case that the identity of the prototype belongs at the meta-level, so perhaps the prototype methods would have been 
better done that way, with a upshift in the storeString method. Mirrors came after points, so it may have been partly historic.
printString is another interesting case. Every decision has its plusses and minuses, and Randy presciently saw the drawbacks of introducing
stratification. However, in my own and many other's opinions, the benefits of stratification greatly outweigh the drawbacks.
For instance, remote mirrors--outliners on foreign objects--are much easier in a mirror-based system, as are transparent forwarders.

- David

On Dec 28, 2010, at 5:21 PM, Jan-Paul Bultmann wrote:

> Just one more question :)
> Why are the storeString:IfFail: and prototype methods in the base domain and not accessible via reflection?
> Cheers Jan, not native speaker btw.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.selflanguage.org/pipermail/self-interest/attachments/20101230/fd37b1cf/attachment.html>

More information about the Self-interest mailing list