retract

Сегодня tiddlyhost.com на профилактике, на который я постоянно отсылаю за примерами и это нарушило установленный ритм публикации. Но я подумал, что сослаться можно по памяти на функции, которые я оформил там по принятой схеме заранее. А существо дела, то есть исходная информация у нас пока на месте … Если что не так, то позднее можно будет исправить.
Итак, сегодня у нас retract - который удаляет факт или правило Pilog.
И, соответственно, retract/1 - предикат Pilog, удаляющий факт или правило.
https://software-lab.de/doc/refR.html#retract
Кажется, что все ясно, но в связи с особым случаем, примеры со ссылкой на исходную авторскую документацию.
: (be a (1))
-> a
: (be a (2))
-> a
: (be a (3))
-> a
: (retract '(a (2)))
-> (((1)) ((3)))
: (? (a @N))
@N=1
@N=3
-> NIL
: (be a (1))
-> a
: (be a (2))
-> a
: (be a (3))
-> a
: (? (retract (a 2)))
-> T
: (rules 'a)
1 (be a (1))
2 (be a (3))
-> a
Почему я так не делал раньше? Не знал. Просто скопировал код сюда и получил такое представление. Приятно. Теперь буду пользоваться.
Да … да … я тоже не увидел в примере retact/1 … Но пока прокомментировать, почему, не могу. Возможно, что это станет ясно, после того как … узнаем больше о Pilog. Ошибка описания в документации или так надо!?
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!