[e-lang] "implements Selfless" is useful!
Mark Miller
erights at gmail.com
Sat Sep 15 22:35:13 EDT 2007
On 9/15/07, Kevin Reid <kpreid at mac.com> wrote:
> However, I just realized that this doesn't actually work, at least by
> itself: the creation identity of such an object can be distinguished
> by its traversal key -- unless we add the rule that traversal keys
> cannot be created for such objects.
As I read this, an odd possibility occurred to me. What if traversal
keys on opaque Selfless leafs (Selfless objects whose __optUncall was
null) only compare the same based on the traversal key's own creation
identity:
? def x implements Selfless {}
? def t1 := makeTraversalKey(x)
? def t2 := makeTraversalKey(x)
? t1 == t1
# value: true
? t1 == t2
# value: false
If a non-leaf had such broken traversal behavior, serialization of
loops of these wouldn't terminate. But since it would only happen for
leaves, this isn't a problem.
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the e-lang
mailing list