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 werden8und 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?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage