[e-lang] What's a SturdyRef (or TraversalKey, String, ...), anyway?

David Hopwood david.hopwood at industrial-designers.co.uk
Tue Aug 7 12:02:33 EDT 2007


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.
Why is "Selfless && !Transparent" not sufficient?

Note that !Transparent does not imply "always keeps all of its components
secret".

>    * Should it be considered a subcategory of Selfless, and if so,  
> what are Selfless but not Atomic objects called?

PassByCopy (again, see Figure 3).

-- 
David Hopwood <david.hopwood at industrial-designers.co.uk>



More information about the e-lang mailing list