From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site uwai.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!uwvax!uwai!neves From: neves@uwai.UUCP Newsgroups: net.ai,net.lang.lisp,net.lang.ada Subject: Re: Thus spake the DoD... Message-ID: <182@uwai.UUCP> Date: Fri, 1-Mar-85 15:13:44 EST Article-I.D.: uwai.182 Posted: Fri Mar 1 15:13:44 1985 Date-Received: Sun, 3-Mar-85 03:47:23 EST References: <417@ssc-vax.UUCP> <676@topaz.ARPA> <6982@watdaisy.UUCP> <3223@utah-cs.UUCP> <7016@watdaisy.UUCP> Organization: U of Wisconsin CS Dept Xref: watmath net.ai:2569 net.lang.lisp:348 net.lang.ada:200 List-Id: To: uwvax!harvard!godot!mit-eddie!genrad!decvax!bellcore!allegra!ulysses!mhuxr!mhuxj!houxm!ihnp4!cbosgd!clyde!watmath!watdaisy!djsalomon Subject: Re: Thus spake the DoD... In-reply-to: your article <7016@watdaisy.UUCP> Since LISP uses function notation for all operations it is a simple language to implement and a simple language in which to automatically generate code (thus the AI connection). --> Most AI people do not do automatic programming. They use Lisp because it is a great language for trying out new ideas. Does your favorite language have incremental function compilation? Try a Lisp machine. Similarly its use of lists to implement all data types and all structures is a simple and interesting concept. --> This is simply not true. Lisps have arrays and strings and the more modern ones have records and objects. But these two features have made LISP one of the most inefficient languages in existence. --> Nothing true about this statement. What is so inefficient about CONS? Why don't you be specific in naming some part of Lisp that is inefficient? Below is the Pascal equiv. of CONS. People think Lisp is efficient because they see it work on very large and difficult problems. function cons(a,b:cellptr):cellptr; var newcell:cellptr; begin new(newcell); newcell^.left:=a; newcell^.right:=b; cons:=newell end; In many ways this inefficiency has hindered the development of AI. People now associate AI with programs that are too costly to run. This inefficiency has led LISP programmers on an endless search for more powerful hardware. The search may lead to new and exciting parallel architectures but until they are designed and built we should find ways to make good use of the hardware we have. --> The reason that AI is moving to parallel architectures is that the problems they face demand such an architecture. The Japanese are doing the same thing for business (data base) problems in the fifth generation systems. Writing in LISP is challenging and fun. It's simplicity both liberates and constrains the programmer so that writing LISP programs is something like solving a puzzle or playing chess. Many intelligent people enjoy this aspect of LISP. Unfortunately LISP programs remain a puzzle even after they are written. LISP programs are both syntactically and logically hard to document. Usually only the original author will fully understand how a LISP program works, and after a few years not even he will. --> Lisp programs (or parts of them) have been published many times. They are not so difficult to understand. One of the problems with early Lisps was that there wasn't any reasonable iterative construct and used PROG (which complic;ated code if used incorrectly). The current Lisps have DO. You should not be judging Lisp based on the Lisp 1.5 version of the early 60's. I thus stand by my original claim that the importance of LISP to AI is greatly exaggerated. Not only can one now chose one of the LISP offspring such as PROLOG or FORTH, but also if one is writing an actual production system one should examine one of the more efficient algorithmic languages to see if it is adequate for one's application. --> Once your ideas are set then it might be feasible to implement them in a different language, even assembly language. But most (if not all) AI people would feel they were wasting their valuable time if subjected to a Forth, C, Pascal, ADA, etc. -- ...!{allegra,heurikon,ihnp4,seismo,uwm-evax}!uwvax!neves neves@uwvax