On the Proxy Identity Crisis
Abstract
A proxy, in general, is an object mediating access to an arbitrary target object. The proxy is then intended to be used in place of the target object. Ideally, a proxy is not distinguishable from other objects. Running a program with a proxy leads to the same outcome as running the program with the target object. Even though the approach provides a lot of power to the user, proxies come with a limitation. Because a proxy, wrapping a target object, is a new object and different from its target, the interposition changes the behaviour of some core components. For distinct proxies the double == and triple === equal operator returns false, even if the target object is the same. More precisely, the expected result depends on use case. To overcome this limitation we will discuss alternatives.
- Publication:
-
arXiv e-prints
- Pub Date:
- December 2013
- DOI:
- 10.48550/arXiv.1312.5429
- arXiv:
- arXiv:1312.5429
- Bibcode:
- 2013arXiv1312.5429K
- Keywords:
-
- Computer Science - Programming Languages
- E-Print:
- Position Paper