je le code suivantfonctions elisp en tant que paramètres et que la valeur de retour
(defun avg-damp(f)
#'(lambda(x) (/ (+ (funcall f x) x) 2.0)))
Un appel
(funcall (avg-damp #'(lambda(v) (* v v))) 10)
rendements 55,0 (la valeur correcte) dans SBCL mais se bloque avec la pile suivante en Lisp
Debugger entered--Lisp error: (void-variable f)
(funcall f x)
(+ (funcall f x) x)
(/ (+ (funcall f x) x) 2.0)
(lambda (x) (/ (+ ... x) 2.0))(10)
funcall((lambda (x) (/ (+ ... x) 2.0)) 10)
eval((funcall (avg-damp (function ...)) 10))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp)
Comment puis-je le faire fonctionner dans Emacs Lisp?