[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