stuart@rochester.UUCP (06/26/84)
This is primarily motivated by Barry Margolin's (sp?) note that automatic storage management (more than just stacks!) frees the programmer from a lot of work and eliminates the potential for a wide range of bugs. This is quite true. I am not generally a fan of "AI" languages. No sneer intended, but I think most of them either have no sophistication about data structures (LISP) or have extremely specialized structures (knowledge rep languages). They do, however, provide the programmer with much nicer management of the structures that ARE available. For those in the AI community who may not be aware of what "traditional" languages are going through, the Xerox Palo Alto Research Center is developing a language called Cedar which 1) has its roots and takes its syntax from Mesa 2) provides automatic storage management 3) provides *polymorphic* strong type checking As a result of its heritage, Cedar looks nothing at all like LISP or any other "AI" language that I know of. I won't sing its praises, but it may be used as a "conventional" imperative language or as a fully "functional" language or as an "object oriented" language with no need to mess with storage management (with the understanding that the syntax looks more like Pascal than Smalltalk!). As an example of how sophisticated and powerful the language can be as a "functional" language, there is a System Modelling Language used to describe entire configurations of separated compiled modules, their interrelations and dependencies which is based on Cedar and completely stateless and completely type-safe in that arguments are guaranteed to be of the expected "type"/"structure"/"properties"/whatever. Stu Friedberg {seismo, allegra}!rochester!stuart stuart@rochester