Что подразумевается под "логической чистотой" (в контексте программирования Prolog)? logical-purity информация о тегах говорит, что "программы, использующие только Horn clauses", но тогда, как предикаты, такие как if_/3
, будут квалифицироваться, используя столько же, сколько и сокращение, и различные мета-логические (что означает правильная терминология? var/1
и такие) предикаты, то есть низкоуровневые вещи.
Я понимаю, что он достигает некоторого "чистого" эффекта, но что это значит?
Для более конкретной иллюстрации, пожалуйста, объясните, как if_/3
квалифицируется как логически чистый, видимый при использовании, например. в этом ответе?