2 つの値を比較し、結果を参照可能な変数として返す述語 (明らかに不必要ですが、例です) を書きたいとします。次のようになります。
compare(Value1, Value2, Result) :-
Result is Value1 > Value2.
しかし、Swishではエラーが発生します。
src:2: Syntax error: Operator priority clash
compare/3: Domain error: `order' expected, found `'5''
をResult
取得した後、その値を別の述語でどのように使用しますか? 次のように言えますか?
compare(5, 2, Result),
Result.
それとも、Prolog の哲学を完全に誤解していますか?