Я просто новичок в прологе. Я хочу определить инфиксный бинарный оператор «rA», который дает мне площадь прямоугольника, когда я задаю ширину и ширину прямоугольника. Это код, который у меня есть:
:-op(300, xfy, rA).
rA(X,Y,R) :- R is X*Y.
Код отлично работает, когда я делаю это:
1 ?- rA(3,4,A).
A = 12.
Чего я не могу понять, так это определить его как инфиксный бинарный оператор. Я получаю эту ошибку:
2 ?- A is 3 rA 4.
ERROR: evaluable `3 rA 4' does not exist
Спасибо