Пролог Аккумуляторы. Они действительно «другая» концепция?

Я изучаю Пролог в своей лаборатории искусственного интеллекта, из источникаВыучи Пролог сейчас!

В 5-й главе мы узнаем оАккумуляторы, И как пример, эти два фрагмента кода приведены.Чтобы найти длину списка

без аккумуляторов:

len([],0).
len([_|T],N) :- len(T,X), N is X+1.

с аккумуляторами:

accLen([_|T],A,L) :- Anew is A+1, accLen(T,Anew,L).
accLen([],A,A).

Я не могу понять, как эти два фрагмента концептуально отличаются? Что именно аккумулятор делает по-другому? И каковы преимущества?

Аккумуляторы звучат какпромежуточные переменные, (Поправьте меня, если я ошибаюсь.) И я уже использовал их в своих программах до сих пор, так это действительно большая концепция?

Ответы на вопрос(3)

Ваш ответ на вопрос