Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
%% Определим пустой список как объект nil
list(nil).
%% Определим список из одного элемента 1
list(t(1, nil)).
%% Определим список из элементов 1, 2, 3
list(t(1, t(2, t(3, nil) ) ) ).
%% Опишем к примеру процедуру поиска в списке
%% 1. результат находится в голове списка (1-й элемент)
%% _ - означает незначимую для нас переменную
member(X, t(Y, _)) :- X = Y.
%% 2. результат не первый элемент, но содержится в хвосте списка после первого элемента
member(X, t(_, Tail)) :- member(X, Tail).
Prolog. Программируем автоматы