retract
Сегодня tiddlyhost.com на профилактике, на который я постоянно отсылаю за примерами и это нарушило установленный ритм публикации. Но я подумал, что сослаться можно по памяти на функции, которые я оформил там по принятой схеме заранее. А существо дела, то есть исходная информация у нас пока на месте … Если что не так, то позднее можно будет исправить.
Итак, сегодня у нас retract - который удаляет факт или правило Pilog.
И, соответственно, retract/1 - предикат Pilog, удаляющий факт или правило.
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. Ошибка описания в документации или так надо!?