Hacker News new | past | comments | ask | show | jobs | submit login

You can think up an unreasonable example for anything though.

If I have a graph data structure then `node == node` with identity does make sense to me in lots of cases.

And what's the value equality of `(new Object()).equals(new Object())` - they have no value.




The point is that the language treats numbers as objects when they aren't.

It's not that reference semantics don't have a place, it's just that the place isn't numbers.

As for your second question, it looks like the type system has two embarrassing questions: what the heck does "new Object()" mean? Nothing worth saying.


I use `new Object()` in my code and I use it exactly for identity equality! If I want a unique ID for something I create a new object and it's guaranteed it will never be reference equality to any other object anyone else could construct.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: