cut in SWI-Prolog

From: Budyn (budyn_at_zamek.gda.pl)
Date: 12/01/04


Date: 1 Dec 2004 04:38:25 -0800

I have two queries:

a) ?- G = (member(X, [a, b]), !, write(X)), call(G).

b) ?- G = (member(X, [a, b]), call(!), write(X)), call(G).

My question is: what is the difference between scope of "!" in (a) and
(b) in these queries (as in both of them G is metacalled) ?