Emacs lisp: warum verursacht dieses sexp einen ungültigen Funktionsfehler?
Das fragliche Geschlecht ist
(((lambda (b)
(lambda (a)
(+ b a))) 3) 5)
was für mich so aussieht, als sollte es bewertet werden8
und in anderen lisps (z. B. Racket) ist dies der Fall, aber in elisp wird stattdessen der folgende Fehler ausgegeben:
Debugger entered--Lisp error: (invalid-function ((lambda (b) (lambda (a) (+ b a))) 3))
Es scheint mir das zu sagen
((lambda (b)
(lambda (a)
(+ b a))) 3)
Ist keine gültige Funktion. Das scheint falsch zu sein, denn wenn ich diesen Ausdruck bewerte, bekomme ich
(lambda (a) (+ b a))
das sieht für mich nach einer gültigen Funktion aus. Hat jemand eine Idee, warum das passiert? Hat es etwas mit dynamischem Scoping zu tun?