[net.lang.prolog] Reduce?

bhyde@inmet.UUCP (05/24/86)

Consider this.
   : plus_reduce([1,2,3],Result)?
   N = 6.
   : 
Not too hard to write.

But what if I want to write a more general reduce like this one:
   : reduce( 0, % Intial value 
	   Left, Right,   % Input variables in the subexpressions
	   InnerResult is Left + Right,	% The unit reduction.
	   InnerResult, 		% Result of subexpressions.
	     [1, 2, 3], Result )?
   N = 6.
   :

I am unable to see how to write this (with out asserting a new clause
during the execution).

This is a very general function once you have it.  Any ideas?
  - ben hyde, cambridge.