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

David Chizmadia (JHU) chiz at cs.jhu.edu
Tue Aug 7 10:40:13 EDT 2007


Hopefully this response will be sensible (I don't have a strong
background in language theory...).

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:
...
> Questions:
> 
>    * What should this third category be called? (I'll use "Atomic"  
> for purposes of the next question.)

    As I read your description, I was struck by the fact that the
identity of the objects you named seems to be defined by their state
(usually a single value, but I think it generalizes). So I would
suggest that this third class be called SelfEvident, with a parallel
definition of:

SelfEvident objects: those whose identity is (uniquely?) defined by
their (DeepFrozen?) state.

> 
>    * Should it be considered a subcategory of Selfless, and if so,  
> what are Selfless but not Atomic objects called? ("Transparent" would  
> imply one has to write "def foo implements TransparentSelfless {}"  
> which seems a bit ugly to me.)
> 

-DMC


More information about the e-lang mailing list