不久前,如果你问LISP是用来做什么的,许多人将回答:“做人工智能的”。事实上,Lisp和AI的关系仅仅是一个历史的巧合。John Mcarthy发明了LISP,他也提出了了“人工智能”的概念。他的学生和同事都用LISP来写程序,然后LISP就被称为一门AI语言。这条线在20世纪80年代AI爆炸时期一直延伸着,几乎成了一种惯例。
幸运的是,有人开始说AI并不是Lisp的全部。近来硬件和软件的发展使得Lisp有了商业的可能性:它现在被用于GunEmacs,最好的UNIX文本编辑器;Autocad,工业标准的CAD程序;和Iterleaf,一个出色的出版程序。Lisp在这些程序中和AI没有什么关系。
如果Lisp不是AI语言,那它是什么?通过语言自身,而不是通过使用它的那群人来观察语言。你可以在Lisp中做哪些在其它语言中不能做的事情?Lisp最不同的一点之一是,它可以被定做成非常适合用它所写的程序。Lisp本身就是一个Lisp程序,并且Lisp程序可以被理解为列表,列表是Lisp数据结构。综合来看,这两个原则意味着任何用户可以未Lisp增加操作符,这些增加的操作符和内置的没有什么两样。