Estoy leyendo SICP recientemente para aprender la programación de lisp.
Hay un ejemplo en el libro para hacer una suma de funciones de alto nivel como se muestra a continuación.
(define (sum term a next b)
...
(term a)
...
(next a)
...
En esta función, term y next son funciones.
Quiero escribir la misma función en elisp así.
(defun sum (term a next b)
....
(funcall term a)
...
(func next a)
....
Luego defino algunas funciones de prueba para probar la suma
(defun inc-test (x) (+ x 1))
sum inc-test 1 inc-test 10
pero muestra errores como este: Función no válida: inc-test
Como soy nuevo en Elisp, ¿alguien puede llamar para decirme cómo solucionarlo? muy apreciado
inc-test
en su último ejemplo se usa como una variable, pero no se define como una variable (es una función). Debe pasar un símbolo o una referencia de función a funcall
. Por lo tanto, una forma de arreglar su código es pasarlo en 'inc-test
lugar de inc-test
(tenga en cuenta la cita).
sum
?