11.3.39 compare/3

Synopsis

compare(-Order, +Term1, +Term2)

succeeds if the result of comparing terms Term1 and Term2 is Order

Arguments

Order
one of [<,=,>]
=
if Term1 is identical to Term2,
<
if Term1 is before Term2 in the standard order,
>
if Term1 is after Term2 in the standard order.

Term1
term
Term2
term

Description

The standard total order is described in ref-lte-cte.

The goal (A) is equivalent to (B):

     | ?- compare(=, Term1, Term2). (A)
     |?- (Term1 == Term2). (B)

The following query succeeds, binding R to <, because 1 comes before 2 in the standard order.

      | ?- compare(R, 1, 2).
     
     R = <

If Order is supplied, and is not one of <, >, or =, compare/3 simply fails.

See Also

@</2, @=</2, @>/2, @>=/2, SP_compare(), ref-lte-cte.


Send feedback on this subject.