Us (was: [self-interest] mirrors (second try))

Jecel Assumpcao Jr jecel at
Sun Jul 10 18:53:04 UTC 2005

David P Harris wrote on Sat, 09 Jul 2005 10:10:18 -0700
> Reinout Heeck wrote:
> >Jecel Assumpcao Jr wrote:
> >>[...] the idea of using
> >>different viewpoints instead of mirrors as suggested for Us.
> >
> >This sounds like something I need to know/understand but I completely fail to 
> >comprehend what it references. What is meant by 'viewpoints' and 'Us', are we 
> >talking about a design pattern here?
> >  
> Yes, Jecel, you need to reference these things better because some of us 
> do not follow everything in detail.  I feel out of the loop and must be 
> missing some other forum. 

Sorry about that - you are right. Actually all discussion about the Us
language that I know of was in this mailing list but that was a very
long time ago. A link to the main paper has been posted here a few times
before and I was going to include it again in my message but found out
that it is now missing, which is sadly normal for the web.

"A simple and unifying approach to subjective objects"
by Randall B. Smith and David Ungar 	
in 	Theory and Practice of Object Systems archive
Volume 2 ,  Issue 3   1996
Special issue on subjectivity in object-oriented systems
Pages: 161 - 178  
John Wiley & Sons, Inc.   New York, NY, USA 

The PDF used to be available at citeseer but that no longer exists. So I
ended up sending the email without the needed reference.

> I think Us refers to an other object-based language -- on off shoot of 
> self.  I think it might be a Jecel language. 

It was built as a patch on top of Self so it would be nice if this paper
could be added to the papers section of the Self site. There are other
Us papers but they are far less detailed since they are short position
papers for workshops.

> Viewpoints, as I understand it, refers to having different views of the 
> same object.  A common example would be a point.  You could have 
> different different views: Cartesian and Radial.  They would refer to 
> the same point, but have different interfaces and messages.  This is 
> useful if you want to hide some of an object, say with a bank account, 
> you might want a view that only showed the balance, but other views that 
> could deposit or withdraw money.  Then permission would apply to the 
> view and not the object, per se.

An important detail is that the viewpoint belongs to who is sending the
message. Perhaps it would be better to say the context in which the
message is sent. So while in Self the actual slot is indicated
exclusively by the receiving object and the message selector name, in Us
the sender is also a factor in deciding which slot to use.

So back to my original comment: in the Us paper one possible use
mentioned for viewpoints was allowing objects to reflect on themselves
in certain contexts (a debugger, for example) while having strictly base
level semantics in most other contexts. This gives you some of the
separation that mirrors do, but don't involve extra objects which some
people find confusing.

-- Jecel
p.s.: thanks, Reinout, for the evaluation of my damaged first attempt to
send the email. The Squeak client (called Celeste) needs a blank line
between the header fields and the mail body and I probably eliminated
this while pasting stuff

More information about the Self-interest mailing list