call, ..= operator, records (newbie)



I define a 'toy predicate' plus:

plus(X,Y):- Y is X+1.

Then I try the following:

24 ?- F=plus,F(2,X).
ERROR: Syntax error: Operator expected
ERROR: F=plus,F(2,X
ERROR: ** here **
ERROR: ) .

Why do I get an error here?
I know it can be solved with the introduction of a new variable (see
below) , but I'm just curious why.

26 ?- F=plus,X=..[F,2,Z], call(X).
F = plus,
X = plus(2, 3),
Z = 3.
.