In ISO Prolog, :-
is used for directives like operator declarations only. The ?-
operator is also defined but no meaning is given to it.
These operators stem from the DEC system 10 Prolog of ~1978 where they were called command and question respectively. While :- p(X).
just tested for the success of p(X)
during consulting, ?- p(X).
showed an actual answer and prompted for further answers. So you got some interaction while loading your files which was abandoned in subsequent systems making both operators behave in the same way.
Since DEC10, many systems print ?-
as a prompt for the top level loop, reminding that the next term read in will be interpreted and answered as a question. Some systems go even further and add the interpreter prompt |
in front of it.