top-shop.ru
77 лучших песен
Факты - явная часть данных, правила - способ создания неявной части

Запись фактов в GNU Prolog

Факты - это самая простая форма предикатов Пролога. Они подобны записям реляционной базы данных. Факты имеют следующий синтаксис записи:
predicat(arg1, ... argN). Здесь:
predicat
Допустимое имя предиката (атома) в GNU Prolog: Строка начинающаяся с "маленькой буквы" и содержащая буквы и цифры, а также спец. символ [_]. Если требуется имя, содержащее пробелы или другие спец. символы - используйте одинарные кавычки (они будут частью имени предиката, если без них имя является недопустимым):
GNU Prolog 1.2.16
By Daniel Diaz
Copyright (C) 1999-2002 Daniel Diaz
| ?- [user].
compiling user for byte code...
'That\'s right!'(smit,holly).

user compiled, 2 lines read - 278 bytes written, 40469 ms

(330 ms) yes
| ?- listing.

'That''s right!'(smit, holly).

yes
| ?- 'That''s right!'(X,_).

X = smit

yes
| ?- 
Нельзя использовать двойные кавычки - они используются для обозначения строк (списков, состоящих из списков ASCII кодов символов:
GNU Prolog 1.2.16
By Daniel Diaz
Copyright (C) 1999-2002 Daniel Diaz
| ?- [user].
compiling user for byte code...
hello :-
printstring("Hello World").

printstring([]).
printstring([H|T]) :- put(H), printstring(T).

user compiled, 6 lines read - 1129 bytes written, 5098 ms

(10 ms) yes
| ?- hello.
Hello World

yes
| ?- 

arg1, ... argN
Аргументы - перечисленные, через запятую, термы Пролога (integer, atom, variable, structure). Имена переменных должны начинаться с большой буквы, или символа подчеркивания (и этим они отличаются от атомов). Аргументом также может быть строка символов в одинарных кавычках, которые становятся частью имени только если иначе строка не является допустимым аргументом (иначе интерпретатор их проигнорирует).
Допустимый набор символов в языке GNU Prolog:
  • "Большие буквы", A-Z
  • "Маленькие буквы", a-z
  • Арабские цифры, 0-9
  • Спец. символы, + - * / \ ^ , . ~ : . ? @ # $ &
Блог изучающего Пролог

содержание