XPost: comp.lang.scheme
Geoffrey Summerhayes wrote:
(defun evaluate-poly (p x)
(loop for coeff in p
for power from 0
sum (* coeff (expt x power)))
A little wasteful, but what the heck.
(defun evaluate-poly (p x)
(reduce #'(lambda (a c) (+ c (* x a)))
(reverse p) :initial-value 0))
It ought to be "(lambda", not "#'(lambda". However, disciples
of CL (COBOL-Like) always try to make their code as ugly and
as prolix as possible. He would have been even more pleased
if he could have written:
(#'reduce #'#'#'#'#'#'#'#'#'(lambda (a c) (#'+ c (#'* x a)))
Gauche Scheme:
(define (eval-poly p x)
(fold-right
(^(c a) (+ c (* x a)))
0 p))
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)