Programming cooperation

To show the difference:

mintest(X, Y, Min) :-
    (   X @=< Y, !,
        Min = X
    ;   Min = Y
    ).
mintest(_X, _Y, strawberries_and_cream).
?- mintest(1, 2, Min).
Min = 1.

Vs:

mintest(X, Y, Min) :-
    (   X @=< Y
    ->  Min = X
    ;   Min = Y
    ).
mintest(_X, _Y, strawberries_and_cream).
?- mintest(1, 2, Min).
Min = 1 ;
Min = strawberries_and_cream.

(Edit: moved -> to its standard placement)

4 Likes