Как я могу добавить функцию (например, hammingweight) и использовать ее в выражениях, встречающихся в правой части, это некоторая (is)/2
цель?
Может ли здесь помочь что-то вроде target_expansion или term_expansion?
Я признаю, что это небольшая функция, но она может повысить читабельность некоторых моих программ на Прологе.
Написание пользовательского предиката (is)/2
(реализация пользовательского оценщика выражений) выполнимо, но я хотел бы сохранить низкие накладные расходы во время выполнения, так как в этом случае я не хочу жертвовать читаемостью ради накладных расходов во время выполнения.