Ampersand
Ampersand copied to clipboard
Concepts without equality
Problem
Ampersand currently assumes that equality is defined for all concepts. Suppose we could have concepts on which equality is not defined. The type checker could then help the programmer to prevent unintended use of equality for such concepts. For example, if we could say that a video-blob has no equality, the type checker would help if we would inadvertedly use it as key field in an object (i.e. as ugly identifier).
Problem
However, there are atoms where we do not wish to implement equality. Examples are blobs and videos. We don't want to have equality here, because it may cause erratic behaviour/effects, such as:
- @stefjoosten: please come up with some examples, e.g. from student experience;
- @sjcjoosten: please come up with some examples, e.g. why real numbers are a good example, too.