[comp.ai.digest] Suggestions for Course

hamscher@HT.AI.MIT.EDU.UUCP (10/27/87)

It seems to me that your list of reasons for using Lisp or
Prolog in an AI class didn't include the single substantive
reason for using Lisp, which is that that its use of just a
couple of primitive data types to represent both data and code
make it particularly easy to writing specialized languages and
interpreters or compilers for them.  Especially pattern-directed
invocation languages.

The reason for using Prolog is that it embeds one particular
pattern-directed invocation paradigm for writing AI programs and
makes that extremely fast, although clearly your experience with
DCG notation suggests that it too has the unity of code and data
that is helpful in constructing alternative interpreters.

The reason it is important to be able to build specialized
languages and interpreters is that those are what makes it
possible to build specialized representations appropriate for
different problems.  And the engineering of appropriate
representations is fundamental to AI. (which is not to claim
that we know how to do it very well yet :-)