Talk:Z17464
Deprecated since 2024-09-27
Please see phab:T373992#10183197 and phab:T373992#10184412.
GrounderUK (talk) 09:37, 28 September 2024 (UTC) As the creator and principal user of this function, I propose to deprecate it for the following reasons:
- The Reference type is not a fully supported Type, so the function’s input parameters are specified as Object (Z1) rather than Reference (Z9).
- As a consequence, the function could be used as a general equality function (with limitations), which was useful when the performance of object equality (Z13052) made its use impracticable (particularly when comparing Types). There is no longer any reason not to use object equality (Z13052) as a general equality function.
- We now have specific functions with Type comparisons:
- same Type (Z19084): two Types are the same if their Z4K1/identities are the same or the Z2K2/value of the Type referenced in one identity is the same as the full Type supplied by the other
- object type equality (Z15801): returns True if two objects are of the same type
- strict object equality (Z18683): requires both object type equality (Z15801) and object equality (Z13052)
- Typed list has the same Object for its Type (Z18636): returns True if a Typed list uses the referenced Persistent object (a Type) in its generic Type specification (a Function call to the Z881/Typed list function)
- same list (Z18646): returns True if all the elements in two lists are equal and both lists have the same Type
- We should also have a “same identity” function to replace the use of ⚠️ same Reference (Z17464) in implementations like same day, composition of same reference (Z18605). This might be a new implementation of identity identity identity (Z16372): returns True if the identities of two identities have identity (the objects are the same).
There are a number of implementations and test cases that still need to be redefined to use a different equality function:
https://www.wikifunctions.org/wiki/Special:WhatLinksHere?namespace=0&target=Z17464 (Initial count: 42!)
In due course, the function’s input parameters may be changed to Reference (Z9) (not currently possible) and/or a Z9-specific implementation may be provided. Alternatively, a new “same Reference” function may be defined and the deprecated function may be deleted once there are no remaining dependencies.
Support as proposer --GrounderUK (talk) 10:56, 28 September 2024 (UTC)