В ISO Prolog, :-
используется только для таких директив, как объявления операторов.Оператор ?-
также определен, но ему никакого значения не дано.
Эти операторы являются производными от системы DEC 10 Пролог ~ 1978 года, где они назывались команда и вопрос соответственно.В то время как :- p(X).
только что проверил на успех p(X)
во время консультации, ?- p(X).
показал реальный ответ и запросил дальнейшие ответы.Таким образом, вы получили некоторое взаимодействие при загрузке ваших файлов, которое было прекращено в последующих системах, заставляя обоих операторов вести себя одинаково.
Начиная с DEC10, многие системы выводят ?-
в качестве приглашения для цикла верхнего уровня, напоминая, чтоследующий прочитанный термин будет интерпретирован и получен ответ как вопрос.Некоторые системы идут еще дальше и добавляют подсказку интерпретатора |
перед ней.