Це цільове твердження узгоджується з базою даних, якщо X може бути зіставлена з черговою літерою в поточному вхідному потоці даних. Ціль get0 виконується лише один
Get(X)
Це цільове твердження узгоджується з базою даних, якщо змінна X може бути зіставлена з черговою друкованою (не керуючою) літерою в поточному вхідному потоці даних. Друковані літери мають код ASCII, що перевищує 32. Усі керуючі літери пропускаються. Предикат get виконується тільки один раз.
Skip(X)
Цей предикат читає і пропускає літери в поточному вхідному потоці даних до тих пір, поки не зустрінеться літера, порівнянна з X. Предикат skip виконується тільки один раз.
Read(X)
Цей предикат читає черговий терм з поточного вхідного потоку даних і зіставляє його з X. Предикат read виконується тільки один раз. Терм, що вводиться, повинен закінчуватися крапкою ‘.’, яка не стає частиною цього терма. Після крапки повинна слідувати принаймні одна керуюча літера.
Put(X)
Цей предикат записує ціле число X у вигляді літери (кодом якої і є X) в поточний вихідний потік даних. Предикат put виконується тільки один раз. Якщо X неконкретизована, то фіксується помилка.
Nl
Записує в поточний вихідний потік даних послідовність керуючих літер, що викликають перехід на «новий рядок». У разі виводу на дисплей всі літери, що виводяться після nl, будуть розміщені на наступному рядку сторінки; nl виконується тільки один раз.
Tab(X)
Записує X «пропусків» в поточний вихідний потік даних. Якщо X неконкретизована, то фіксується помилка, tab виконується тільки один раз.
Write (X)
Цей предикат записує терм X в поточний вихідний потік даних, write виконується тільки один раз. Кожна неконкретизована змінна, що входить в X, записується як унікальне ім'я, що розпочинається з підкреслення ‘_’за яким йде унікальне число, як, наприклад, '_239'.
Display(X)
Предикат display працює в точності таким же способом, що і write, за тим виключенням, що він ігнорує усі оголошення операторів. Предикат display друкує будь-яку структуру, починаючи з її функтора, за яким в круглих дужках друкується список аргументів.
Op(X,Y,Z)
Цей предикат оголошує оператор, що має пріоритет X, позицію і асоціативність Y і ім'я Z. Специфікація позиції і асоціативності вибирається з числа наступних атомів:
fx fy xf yf xfx xfy yfx yfy
Якщо оголошення оператора коректне, то op вважається погодженим.
49.Обробка файлів
Предикати для зміни поточного вхідного і поточного вихідного потоків даних
See(X)
Цей предикат відкриває файл X, якщо він ще не відкритий, і визначає, що поточним вхідним потоком даних стає файл X.