Prologで**/2
( xfx
) と(^)/2
( )の引数の優先順位が同じでないのはなぜですか?xfy
これにより、次のような小さな矛盾が生じます。
?- X = 1, Y is 1 ^ -X.
X = Y, Y = 1.
と:
?- Y is 1 ** -1.
Y = 1.
しかし:
?- X = 1, Y is 1 ** -X.
ERROR: Syntax error: Operator priority clash
ERROR: X = 1, Y is 1 *
ERROR: ** here **
ERROR: * -X .