Hacker News new | ask | show | jobs
by t-3 18 days ago
> Moreover, a decent programming language should have 14 relational operators, to enable the correct use of partially-ordered sets, e.g. also for user-defined data types, not only for floating-point numbers.

Is this a well-known set that I've never heard of? What are the other 8? Subset, superset, structural equality? Logical equivalence?

1 comments

The standard 6 relational operators that are sufficient for a totally ordered set are: <, >, <=, >=, = and <>.

The last is "less or greater", as used in BASIC and SQL, instead of "not equal".

In a partially ordered set, their 6 negations are distinct relations, so 6 + 6 makes 12 relational operators.

The last 2 relational operators of the 14 are "less or equal or greater", which could be written "<=>" or ">=<", together with its negation (which is true when one of the operands is a NaN).