call(Goal,Arg) позволяет добавить аргумент Arg к аргументам цели и вызвать результирующую цель, например.Могу ли я добавить список аргументов в call/2?
call(succ(1), R).
такая же, как
succ(1, R).
Однако, я не хочу, чтобы добавить в список аргументов, но вместо этого перед именем, например,
callpre(succ(1), R).
должно привести к
succ(R, 1).
Как я могу предварять аргументы в списке аргументов цели и называют получившийся цели?
[Аналогичный вопрос для 'maplist'] (HTTP : //stackoverflow.com/questions/36582088/is-there-a-better-method-than-making-a-new-rule-to-change-variable-order-for-map). Я бы предпочел ответ, который не «использует эту библиотеку», хотя это то, что мы получаем по этому вопросу. – Fatalize
Неверное описание 'call/2' в первом предложении вашего вопроса. 'call/2' не принимает список аргументов' Goal' во втором аргументе. Он принимает один дополнительный аргумент в «Цель», как вы потом правильно описываете. – Eyal
@Eyal спасибо, исправил это. – morxa