- From: <bugzilla@jessica.w3.org>
- Date: Mon, 13 Oct 2014 09:55:10 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=27001 Ghislain Fourny <g@28.io> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |g@28.io --- Comment #8 from Ghislain Fourny <g@28.io> --- The way I am looking at identity, in this case, is purely from a query/result perspective, that is, about what is visible or exposed to the user. As opposed to any kind of physical identity/address in memory. That is, I define identity not in absolute terms, but "axiomatically", like you can define what a line and point are in geometry, only by expressing axioms using these words (two points unique describe a line etc). I remember from my childhood a book in which Euclidian axioms were reformulated with camels and asparagus rather than lines and points, to illustrate the separation between words and meaning :-) In other words: 1. For XML nodes, I view identity in terms of the "is" operator's returning true or false (and document order operators). 2. If you include updates (be it copy-modify-return or scripting), identity is also exposed, in that two nodes are identical if, applying updates to the one, you see them on the other node as well. 3. If you include a persistent layer, you might notice identity exposure via a change of behavior w.r.t. the above definitions ("is" was returning true and now returns false, or applying updates had and no longer has an effect at several places in the structure, etc). In the case of maps/arrays, there is no "is" or document order comparison operators, so only updates and persistence reveal the "identity". I think that in that case the definitions above apply as well. I'm not 100% sure whether staying at the language semantics level is sufficient, but at least it was to me so far. I am unsure where invoking physical-level or OO-programming-level machinery helps or makes the matter more complicated here. To put it simply, my feeling is that the specifications should still be implementable if we used the word "asparagus" instead of "identity" everywhere :-) Just my naive perspective. I hope it helps. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Monday, 13 October 2014 09:55:12 UTC