В «Критике общего лиспа», написанной Родни А. Бруксом и Ричардом П. Габриэлем из Стэнфорда в 1984 году, обсуждаются некоторые конструктивные решения, оставленные комитетом по нормализации общего лиспа. Хотя большая часть обсуждения остается в силе, есть два утверждения, которые относятся к технологии, доступной в то время, и могут быть ложными сегодня.
Эти два утверждения:
Слишком много затрат на язык было опровергнуто предупреждением о том, что «любой хороший компилятор» может позаботиться о них. Никто еще не написал - и вряд ли сделает это без огромных усилий - компилятор, который выполняет лишь часть ожидаемых уловок.
Поскольку я новичок в Common Lisp или даже ученик, я не могу быть более конкретным, чем авторы. Кажется, они утверждают, что во многих аспектах языка заложена большая универсальность и гибкость, что делает написание хорошего компилятора довольно сложным.
В ОБЩЕМ ЛИСПе было слишком много контроля над арифметикой с плавающей точкой. И, конечно, хотя правильное поведение интенсивной программы с плавающей запятой может быть достигнуто, производительность может сильно отличаться.
Насколько я понимаю, кажется, что написание эффективного числового кода в Common Lisp возможно, но сложнее, чем должно быть.
Это было тридцать лет назад. Как мне относиться к этим утверждениям сегодня, если я готов написать программы на Common Lisp для одной из распространенных реализаций свободного программного обеспечения (CLISP, SBCL и др.)?