Hi, using SWI-Prolog version 8.5.7 - I think these two are bugs: Firstly:
?- compare(Comp, N1, N2).
Comp = (<).
Rather than that wrongness, I’d like the same error as with:
?- N1 < N2.
ERROR: Arguments are not sufficiently instantiated
Secondly:
?- compare(C, 5, 5.0).
C = (>).
The implementation should compare both values as floats, rather than give a mathematically-incorrect answer.
Posting here, for discussion (and perhaps I’m wrong), rather than going straight for a bug report