Links: Common Lisp resources on the Web

A I has relied on L i s p almost since the inception of the field. Other languages (e.g. Java [1]) may provide larger libraries of reusable code, but unlike Lisp libraries, their functionality is not necessarily tailored to the needs of AI developers. Many of the building blocks of an AI system, large or small, can be retrieved from the Web, giving Lisp developers a significant boost in their ability to focus on problem specifics and to prototype solutions. If we need, for example, ✶ basic search algorithms [2], ✶ regular expression processing [3], ✶ theorem proving [4], ✶ constraint satisfaction or logic programming [5], ✶ machine learning algorithms [6], ✶ planning algorithms [7], ✶ cross-platform user interfaces [8], ✶ statistical analysis and instrumentation [9], or any number of other functionality-enhancing toolkits, they are all available over the Web. In this column we take a brief tour of Web resources devoted to Common Lisp. (Common Lisp is an official ANSI Standard language, as of 1994, the first object-oriented language specification to be so approved, and is now the most widely used general-purpose dialect of the Lisp family of languages .) Much of the information presented here can also be found on the Web site for the Association of Lisp Users (ALU) [10]. One good place for information is the ALU Web site [10], which is a rich compendium of information about the language: reference materials, programming tools, implementations, history, and more. The Usenet group comp.lang.lisp is a gathering of knowledgeable and helpful experts, some of whom were closely involved in the development of Common Lisp. The Frequently Asked Questions list for comp.lang.lisp [11] is somewhat outdated with respect to software offerings and implementations, but also gives useful general information. Perhaps surprisingly, Lisp programming is not difficult; for example, Logo is a dialect of Lisp that has been used to teach children to program [12]. Experienced programmers sometimes face more difficult hurdles in " unlearning'' programming practices appropriate for other languages, to take advantage of the full power of Lisp. David Lamkins has written an online tutorial on programming in Common Lisp that should be accessible to programmers at all levels of experi-ence[13].