W A Critique of Common Lisp napisanym przez Rodneya A. Brooksa i Richarda P. Gabriela ze Stanforda w 1984 roku omówiono niektóre decyzje projektowe zachowane przez komitet normalizacyjny Common Lisp. Chociaż większość dyskusji pozostaje aktualna, istnieją dwa stwierdzenia odnoszące się do technologii dostępnej w tym czasie i mogą być dziś fałszywe.
Te dwa stwierdzenia to:
Zbyt wiele kosztów języka zostało odrzuconych z napomnieniem, że „każdy dobry kompilator” może się nimi zająć. Nikt jeszcze nie napisał - i prawdopodobnie nie będzie bez ogromnego wysiłku - kompilatora, który wykonuje ułamek oczekiwanych sztuczek.
Ponieważ jestem nowicjuszem Common Lisp, a nawet uczniem, nie jestem w stanie być bardziej szczegółowy niż autorzy. Wydaje się, że twierdzą, że w kilku aspektach języka wbudowana jest duża ogólność i elastyczność, co sprawia, że pisanie dobrego kompilatora jest dość trudne.
We WSPÓLNYM LISPie nieco za dużo kontroli nad arytmetyką zmiennoprzecinkową. I z pewnością, chociaż można uzyskać prawidłowe zachowanie programu intensywnie zmiennoprzecinkowego, wydajność może się znacznie różnić.
O ile rozumiem, wydaje się, że pisanie wydajnego kodu numerycznego we wspólnym Lisp jest możliwe, ale trudniejsze niż musi być.
To było trzydzieści lat temu. Jak powinienem dziś traktować to stwierdzenie, jeśli chcę pisać programy Common Lisp dla jednej ze wspólnych implementacji wolnego oprogramowania (CLISP, SBCL i in.)?