Open nsbgn opened 3 years ago
We should probably rename unifiable
to match
and remove the custom equality operator to alleviate this.
The above was done in 96a948a767f0bcb00439d3ff7d9a833b1e245c29.
Note also that __hash__
, introduced in db95ab803daee953c1a0c3f451d48b3042040424, violates the principle that x == y
implies hash(x) == hash(y)
, for the same reason. The main reason I haven't removed it yet is that is that equality is often used in testing. Should define an .assertMatch()
instead of using .assertEqual()
.
As it is, the equality operator can hold that
v == o
is false buto == v
is true, ifo
is a type operation andv
is a variable that is bound too
. This is confusing.