Я пытаюсь оптимизировать мой код в прологе.Я видел, что в моей программе я делаю что-то вроде
Test(List1,List2,NList1,NList2):-...
Но меняется только NList2.Я хочу вернуть NList1 без выполнения NLIst1 = List1 внутри функций, потому что программа теряет время на копирование списка из List1 в NList1.Однако, если я сделаю это
Test(List1,List2,List1,NList2):-...
, я думаю, что программа подумает, что List1 - это не результат, а входной параметр.Как мне это исправить, я прав в своих мыслях?