Emacs Lisp ist ein Dialekt von LISP und vor allem Scheme. Die meisten Schema-Interpreter haben eine Optimierung der Tail Recursion, aber Emacs Lisp nicht. Ich habe den Grund in "info elisp" eine Weile durchsucht, aber ich finde es nicht.Warum gibt es keine Optimierung der Schwanzrekursion in Emacs Lisp, aber nicht wie andere Schema?
P.S. Ja, es gibt eine andere Iterationssyntax wie "while" in elisp, aber ich kann immer noch keinen guten Grund finden, warum sie Tail-Rekursion nicht wie andere Schema-Interpreter implementiert haben.
Was gab Ihnen den Eindruck, dass elisp vor allem mit Schema verwandt war? Wie Lisps gehen, sind die beiden sehr unterschiedlich. – phils
Es ist überhaupt kein Dialekt von Schema. Es ist ein Dialekt von Lisp, und die meisten Lisp-Dialekte machen keine Tail-Rekursion. – Barmar
Es ist wahrscheinlich am engsten mit Maclisp verwandt, das aus den 1970er Jahren stammt. Es hatte keine Schwanzrekursion. – Barmar