History of causes as object identity

I vaguely remember reading a paper that proposed semantics in which a trace or history of causes that lead to creation of an object was treated as this object's identity, but am unable to locate it anymore.

I realize that Google is more appropriate for posting such questions than LtU, but for some reason I am unable to persuade it to reply with the right answer...

Any (meta-)pointers/suggestions are very welcome!

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Not quite what you wanted

Not quite what you wanted, but perhaps relevant nevertheless:

Henry G. Baker. 1993. Equal rights for functional objects or, the more
things change, the more they are the same.
ACM SIGPLAN OOPS Messenger
4(4):2-27.

Tangible program histories

I'd like to see such a paper myself.

A vaguely related one that doesn't quite match the request is Tangible Program Histories by Proebsting & Zorn. However, I don't believe it uses the desired treatment of object identity.

Thanks

Thanks for the replies, though as you said, it's not quite that...

What I meant, is something like use of birthjoin to be (a part of) the identity of the object (pardon my rusty Haskell).

Elephant

Maybe this is related to the Elephant programming language?

NAMOS

David Reed's dissertation Naming and Synchronization in a Decentralized Computer System may not have been the paper you read but it definitely discusses this issue and is well worth exploring for its own sake.

Selfish Objects

Actually, selfish objects as defined by erights seem relevant, but unfortunately the site seems to be down right now.
[on edit: the site is now up, so I checked the definition: it really defines identity as atomic, and mentions gensym. That's emphatically not what I meant.]

Lucid

Each variable is an infinite stream of values and Every function is a filter or a transformer. Iteration is simulated by 'current' values and 'fby' operator allowing composition of streams. Lucid is based on an algebra of histories, a history being an infinite sequence of data items. Operationally, a history can be thought of as a record of the changing values of a variable, history operations such as first and next can be understood in ways suggested by their names.

http://en.wikipedia.org/wiki/Lucid_(programming_language)