LAWS@SRI-AI.ARPA (11/15/84)
From: AIList Moderator Kenneth Laws <AIList-REQUEST@SRI-AI> AIList Digest Monday, 5 Nov 1984 Volume 2 : Issue 149 Today's Topics: AI Societies - SCAIS, AI Tools - LISP/PROLOG Availability & CAI authoring systems & OPS5 examples, AI Literature - Technical Publication Addresses & Linguistics Bibliography, Programming - Malgorithms & Programming Style ---------------------------------------------------------------------- Date: Thu, 1 Nov 84 12:34:55 PST From: Scott Turner <srt@UCLA-LOCUS.ARPA> Subject: SCAIS Before I personally get flooded with mail, please send all request concerning joining SCAIS, etc., to scais-request@ucla-locus. Scott R. Turner UCLA Computer Science Department 3531 Boelter Hall, Los Angeles, CA 90024 ARPA: srt@UCLA-LOCUS.ARPA UUCP: ...!{cepu,ihnp4,trwspp,ucbvax}!ucla-cs!srt ------------------------------ Date: 2 Nov 1984 14:06-EST From: CDR Jeff Ackerson (ACKERSON@USC-ISI) Subject: LISP/PROLOG Availability Would like to know if anyone knows of availability of either a LISP or PROLOG environment that will run on an Altos 586-40. Currently running Xenix. ------------------------------ Date: 2 Nov 84 13:16-EDT (Fri) From: Malmros (Fs Hill) <malmros%umass-ece.csnet@csnet-relay.arpa> Subject: CAI authoring systems Perhaps someone out there can help me. I'm looking for a CAI authoring system and all the ones I've seen so far have been absolute dogs. They're pedagogically simplistic and they're all geared to the same old tutorial/drill-practice kind of application. Does anyone know of something more exciting that would be of sufficient pedagogical quality for use at the college level? I'm writing to AILIST because I don't know where else to go. My address is: malmros.umass-ece@csnet-relay.arpa thanks very much. ------------------------------ Date: 4 Nov 1984 10:01:09 EST (Sunday) From: Charles Howell <m15434@mitre> Subject: OPS5 examples I am developing a small KBS using OPS5. My first goal (if you'll pardon the expression...) is simply to "get up to speed" on OPS5. When learning other languages/systems, I've found examples to be very helpful. Does anyone have any examples of working OPS5 systems that they can send me or give me pointers to? If there is much response, I'll be happy to collect them and distribute them (or collect and distribute pointers, as the case may be). If you have an example that you wouldn't mind my using (the KBS is for a graduate course in AI) but you don't wish to have distributed, I'll of course not include it in the distribution. I hope my system will be a bit more stable from now on, so that the turnaround on distributing the OPS5 examples isn't as long as it was for the technical publications addresses... Thanks very much, Chuck Howell The MITRE Corporation ------------------------------ Date: 4 Nov 1984 9:48:08 EST (Sunday) From: Charles Howell <m15434@mitre> Subject: Technical Publication addresses A month or so ago, I posted a request for addresses of institutions publishing technical reports related to AI. Several people responded; thanks! Several people also requested a copy of the collected list of addresses. Unfortunately, the file I collected these messages in has been destroyed, along with a lot of my other files... and, of course, the most recent backup that is usable predates the creation of this file. If you would like a copy of this list, please let me know. I apologize for the delay in responding to those who already sent such a request. Chuck Howell The MITRE Corporation ------------------------------ Date: Fri 2 Nov 84 09:00:29-PST From: C.S./Math Library <LIBRARY@SU-SCORE.ARPA> Subject: Linguistics Bibliography There is an index published by Sociological Abstracts which is called Language and Language Behavior Abstracts. I believe it is a quarterly publication. It is also an online database available on at least Dialog and BRS. I have not made a complete evaluation of these abstracts for their relevance to computer science, AI etc. However this week at the Online conference in San Francisco I did learn that the index does have a section on mathematical and computational linguistics. A very quick search with the descriptor term artificial intelligence came up with 45 hits. However much of the material was in the older part of the database. I was told there has been some changes in scope and as of now I am not sure whether their scope has expanded in the areas of interest of AIList readers or the scope has been limited. Harry Llull, Computer Science Library Stanford University. ------------------------------ Date: 31 Oct 1984 08:36-CST From: SAC.LONG@USC-ISIE.ARPA Subject: Badgorithms I have noticed much discussion on natural languages and AI processors with difficulties in linguistical interpretations due to varied meanings (?!?). Well my PC (personal consideration) on the use of 'badgorithm' is that it is a poor construct from the similarity and pronouncability of its original word, 'algorithm'. In view of this I would like to submit in its place a modified parsed version: 'badorithm' It seems to me the substituted word is much simpler to pronounce and has more of an audio similiarity to algorithm. It is not my intent to bring any discredit or defaming to the coiner of 'badgorithm', but only to present what may be a more useful form of the original idea. Of course, such things are a matter of personal taste to a great extent. What do you think? ------------------------------ Date: Fri 2 Nov 84 14:28:15-CST From: CMP.BARC@UTEXAS-20.ARPA Subject: "badgorithms" vs. "algospasms" I know this is an election year, but perhaps we need more than two choices on some important issues. How about "malgorithms" or is that too easy? Dallas Webster ------------------------------ Date: Wed 31 Oct 84 09:55:03-MST From: Stan Shebs <SHEBS@UTAH-20.ARPA> Subject: Programming Style in Lisp and C (Oh no, not more "programming style" flames!) I'm a little puzzled why "imperative style" in Lisp is so much worse than the same style in C or Pascal. There's a difference between abstraction and imperative code. Last year I wrote a large quantity of graphics C code, and attempted to make it functional as possible. I ended up resorting to amazing numbers of preprocessor macros (is this abstraction? why not just use the macro processor (it's computationally adequate) and dump the C compiler?) in order to get the polymorphic functional style, and it was pretty messy. Why should one have to tinker with pointers explicitly, or allocate storage manually? I have yet to see a nontrivial C program that dispensed entirely with assignment statements. There are at least two reasons for doing "imperative style" in Lisp. The first reason is to reduce the complexity of programs. True functional style requires that you *always* pass around all data that you will ever use. For instance, any I/O parameters can never be defaulted - all of them will always have to be passed to the I/O functions. I've heard very few people actually advocating that in practice (although many are quick to advocate in theory...). Another way to put it is that global variables are completely disallowed! The second reason is that Lisp kernels generally have to be coded for VN machines, and so their code tends to look more "imperative" in nature (of course, I'm assuming that one is doing Lisp-in-Lisp). The PSL kernel definitely has an atypical coding style, but of course you can't implement LAMBDA using LAMBDA directly! In any case, I've only seen a few Lisp programs that were totally without side-effect operators, and those were small examples. I'd be interested to hear of a major system being done in a true functional style (Steele's RABBIT compiler for Scheme is the closest candidate I know). Side effects have their place, albeit a rather small one... stan shebs ------------------------------ Date: Wed 31 Oct 84 10:16:48-MST From: Stan Shebs <SHEBS@UTAH-20.ARPA> Subject: What To Do With All Those Functions I use lots and lots of small functions in Lisp programs also, and have adopted a sort of semi-systematic depth-first scheme for ordering them in a file. That is, if A calls B and C, and B calls D, and C calls E and F, then I put them in the order A B D C E F. The rationale is that B and D (for instance) form a unit, and should therefore be grouped together. If a function is used in several places, I usually put it close to the first place. If it's used in *lots* of places, it's a utility, and therefore goes in a separate utilities file. Files should be kept relatively small (<1000 lines), and should have plenty of "separating" documentation that divides larger files into several parts. Don't think of functions as a burden; they are an advantage. There's no limit on name lengths, and their cost is trivial, so you can name them to be very mnemonic (such as "get-first-item-and-mung"). This is a great aid for debugging. Also, programs will be easier to modify later on (and save scrolling work for the text editor!). stan shebs ------------------------------ Date: Wed 31 Oct 84 14:18:32-MST From: Uday Reddy <U-REDDY@UTAH-20.ARPA> Subject: Functionitis I thought that there were several books answering questions of the sort Shawn Amirsardary posed and that all decent Universities offered courses that dealt with such questions. The subject is called "programming methodology". Since the questions are age-old and so are the answers to them, I will be brief. What do you do with "million and a half functions that get called from usually one place"? You use "abstraction". If you are trying to understand a program by tracing it, you are NOT using abstraction. In that case you would naturally prefer SETQ's to functions. But, if you know how to use abstraction, you would hate SETQ's. How do you order function definitions? You organize them into "modules" which are also called "classes", "forms", "clusters" or "packages" in various contexts. If you are using a state-of-the-art language, it should support modules. Otherwise, you can still organize the functions into modules on your own. ------------------------------ Date: Fri 2 Nov 84 14:33:58-CST From: CMP.BARC@UTEXAS-20.ARPA Subject: Re: Lisp Function-itis Would you consider trading your LAMBDA (or 3600 or Dandelion) for a NORMA (Normal Order Reduction Machine Architecture), and using a purely functional language that supports modules (SASL)? Dallas Webster (CMP.BARC@UTexas-20) ------------------------------ End of AIList Digest ********************