在1984年由Stanford的Rodney A. Brooks和Richard P. Gabriel撰写的“ Common Lisp批判”中,讨论了Common Lisp规范化委员会保留的一些设计决策。尽管大多数讨论仍然有效,但是有两种说法是指当时可用的技术,今天可能是错误的。
这两个语句是:
由于“任何好的编译器”都可以照顾到这种语言,因此消除了这种语言的太多成本。到目前为止,还没有人编写过(即使没有付出巨大的努力也不会编写)一种编译器,该编译器完成了预期的技巧。
由于我是Lisp的新手,甚至是学徒,因此我无法比作者更具体。他们似乎指出,该语言的多个方面已经内置了极大的通用性和灵活性,这使得编写一个好的编译器非常困难。
在COMMON LISP中,对浮点算法的控制太多了。当然,尽管可以获得浮点密集型程序的正确行为,但性能可能会发生巨大变化。
据我了解,用Common Lisp编写高效的数字代码似乎是可能的,但比必须的更具挑战性。
那是三十年前。如果我愿意为一种常见的自由软件实现(CLISP,SBCL等)编写Common Lisp程序,我今天应该如何看待这些声明?