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
Lines: 77
Xref: watmath net.ai:2569 net.lang.lisp:348 net.lang.ada:200

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