David Hopwood | 7 Aug 2007 18:02
Picon

Re: What's a SturdyRef (or TraversalKey, String, ...), anyway?

Kevin Reid wrote:
> Selfish objects: those whose identity identity is defined by their  
> unique event of creation.
> 
> Selfless objects: those whose identity is determined by their  
> components, traversed via __optUncall.
> 
> The above definitions are well-established (I think), but not  
> complete. There is a class of objects whose identity is not unique to  
> their creation, and do not reveal their components:
> 
>    * SturdyRef
>    * TraversalKey
>    * boxed numbers
>    * String
>    * Proxy

I thought that such objects should be considered Selfless but not
Transparent?

(see Figure 3 of <http://www.erights.org/elang/kernel/auditors/>)

[...]
> Questions:
> 
>    * What should this third category be called? (I'll use "Atomic"  
> for purposes of the next question.)

"Do not reveal [all of] their components" is absence of an auditable
property. So I am not sure that this category needs a specific name.
(Continue reading)

Kevin Reid | 7 Aug 2007 19:35
Picon
Gravatar

Re: What's a SturdyRef (or TraversalKey, String, ...), anyway?

On Aug 7, 2007, at 12:02, David Hopwood wrote:
> I thought that such objects should be considered Selfless but not
> Transparent?
>
> (see Figure 3 of <http://www.erights.org/elang/kernel/auditors/>)
> ...
> "Do not reveal [all of] their components" is absence of an  
> auditable property. So I am not sure that this category needs a  
> specific name. Why is "Selfless && !Transparent" not sufficient?

I'm starting to think that this may be the right answer; especially  
as I've thought of two categories of S&!T objects:

   - those compared in some primitive way (e.g. integers).
   - those compared, like S&T, by an uncall (portrayal), but not one  
revealed to all clients.

I accept that we shouldn't have a specific name for S&!T, and that  
the objects I was asking about are S&!T.

Given this, the stamp (not yet true auditor) I'm calling  
SelflessStamp in E-on-CL must be renamed, as it really means  
SelflessTransparentStamp.

I imagine splitting it into TransparentStamp and Selfless. Selfless  
auditing would consist of verifying that the object provides some  
reliable comparison; TransparentStamp being one of them.

(Auditing for transparency is nontrivial, as it not only involves the  
object's definition, but also its maker, which must be shown to  
(Continue reading)

David Hopwood | 8 Aug 2007 23:35
Picon

Re: What's a SturdyRef (or TraversalKey, String, ...), anyway?

Kevin Reid wrote:
> On Aug 7, 2007, at 12:02, David Hopwood wrote:
>> I thought that such objects should be considered Selfless but not
>> Transparent?
>>
>> (see Figure 3 of <http://www.erights.org/elang/kernel/auditors/>)
>> ...
>> "Do not reveal [all of] their components" is absence of an  
>> auditable property. So I am not sure that this category needs a  
>> specific name. Why is "Selfless && !Transparent" not sufficient?
> 
> I'm starting to think that this may be the right answer; especially  
> as I've thought of two categories of S&!T objects:
> 
>    - those compared in some primitive way (e.g. integers).

These should be considered Transparent. Otherwise, objects with
primitive fields cannot be DeepTransparent (if DeepTransparent just
means 'transitively Transparent').

>    - those compared, like S&T, by an uncall (portrayal), but not one  
> revealed to all clients.

These are called "selectively transparent" in
<http://www.erights.org/javadoc/org/erights/e/elib/prim/MirandaMethods.html#__optUncall(java.lang.Object)>.

> I accept that we shouldn't have a specific name for S&!T, and that  
> the objects I was asking about are S&!T.
> 
> Given this, the stamp (not yet true auditor) I'm calling  
(Continue reading)

Kevin Reid | 9 Aug 2007 14:38
Picon
Gravatar

Re: What's a SturdyRef (or TraversalKey, String, ...), anyway?

On Aug 8, 2007, at 17:35, David Hopwood wrote:
> Kevin Reid wrote:
>> On Aug 7, 2007, at 12:02, David Hopwood wrote:
>>> I thought that such objects should be considered Selfless but not
>>> Transparent?
>>>
>>> (see Figure 3 of <http://www.erights.org/elang/kernel/auditors/>)
>>> ...
>>> "Do not reveal [all of] their components" is absence of an
>>> auditable property. So I am not sure that this category needs a
>>> specific name. Why is "Selfless && !Transparent" not sufficient?
>>
>> I'm starting to think that this may be the right answer; especially
>> as I've thought of two categories of S&!T objects:
>>
>>    - those compared in some primitive way (e.g. integers).
>
> These should be considered Transparent. Otherwise, objects with
> primitive fields cannot be DeepTransparent (if DeepTransparent just
> means 'transitively Transparent').

I don't like this. I think there is value in having a simple name for  
"those objects which uncall accurately", and little value in having  
DeepTransparent.

>>    - those compared, like S&T, by an uncall (portrayal), but not one
>> revealed to all clients.
>
> These are called "selectively transparent" in
> <http://www.erights.org/javadoc/org/erights/e/elib/prim/ 
(Continue reading)


Gmane