[m-rev.] Handle polymorphic inequality goals
Ralph Becket
rafe at cs.mu.OZ.AU
Fri Oct 25 16:25:40 AEST 2002
After discussion with Fergus, we've come to the following decision:
- Keep `<', `=<' etc. as module definable operators for int, float etc.
with the appropiate semantics (IEEE or whatever.)
- Move the definitions of `@<' etc. from prolog.m to builtin.m with
the understanding that X @< Y <=> compare((<), X, Y) etc.
- Resurrect Simon's change to support types with user-defined compare/3
behaviour.
- It's not clear that adding an (in, in, in) is semidet mode to
compare/3 will gain us very much under these circumstances.
- Add a function
:- func ordering(T, T) = comparison_result.
ordering(X, Y) = R :- compare(R, X, Y).
- Ralph (not a bullet point.)
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list