AIList-REQUEST@SRI-AI.ARPA (AIList Moderator Kenneth Laws) (10/21/85)
AIList Digest Monday, 21 Oct 1985 Volume 3 : Issue 152 Today's Topics: Query - Classic AI Books, Administrivia - Move Discussion to Symbolics List, Games - Go, Humor - IM Hockey!, AI Tools - The future of POP-11 ---------------------------------------------------------------------- Date: Saturday, 19 October 1985 20:05:27 EDT From: Dan.Miller@a.sei.cmu.edu Subject: Classic AI Books This type of question was asked a while ago on the SOFT-ENG (software engineering) bboard, and now I'd like to ask the same of AI'ers: WHAT, IN YOUR OPINION, ARE THE "CLASSIC" AI BOOKS??? Please send your replies or pointers directly to dhm@sei.cmu.edu (old style: dhm@cmu-sei.arpa). I'll post the "netwide" consensus. --- Daniel "Dan" H. MIller Software Engineering Institute dhm@sei.cmu.edu (dhm@cmu-sei.arpa) Carnegie-Mellon University (412)578-7700 Pittsburgh, PA 15213 USA "The views expressed are my own, and not of my employer" ------------------------------ Date: 19 Oct 85 15:17 PDT From: Fischer.pa@Xerox.ARPA Subject: Move discussion to Symbolics list In your message to AIList with header: Date: Wed, 16 Oct 85 10:21 CDT From: Joseph_Tatem <tatem%ti-eg.csnet@CSNET-RELAY.ARPA> Subject: AI machines You prepare to discuss the redesign of the Symbolics window system. That should probably be done on the mailing list reserved for that specific machine. I doubt everyone on AIList has a Symbolics system (I don't), and those folks with Xerox Lisp machines are pretty happy with their existing window interface. (ron) Ron Fischer Xerox AI Systems Palo Alto, CA ------------------------------ Date: Sat, 19 Oct 85 13:38:01 EDT From: "Keith F. Lynch" <KFL@MIT-MC.ARPA> Subject: the ancient oriental game of Go Reply to David Nicol <cscboic%BOSTONU.bitnet@WISCVM.ARPA>: Robert Maas, REM%IMSSS@SU-SCORE.ARPA, has a Go playing program. ...Keith ------------------------------ Date: 16 Oct 1985 22:14 EDT (Wed) From: "David A. Brown" <DAVID%MIT-OZ@MIT-MC.ARPA> Subject: IM Hockey! [Forwarded from the MIT bboard by SASW@MIT-MC.] INTRAMURAL HOCKEY or A Project in Cooperative Real-Time Solution of 12-body Problems Consider a compact subset of the Euclidean plane, H; cover this compact set with substance W, cool that substance past its freezing point. Let P and Q be sets of independently controlled self-interested actors. Each actor is unaware of the specific knowledge of the other actors (imperfect information) and also unaware of the effects of its own actions (perfect incompetence). Posit a game plan "gp" in which an object, "puck", originally lying on the plane H, is attracted strangely to one or both of two attractors, g1 and g2. It is well known that this problem is decidable. We propose to implement a distributed system for solving this problem. A simple strategy for solving this is known (see Oilers, 1985), but difficult to implement in general (see Rangers, 1900-.....). A simulation of this 12-body problem will be performed under the auspices of MIT intramurals; bodies are needed. [...] ------------------------------ Date: 18 Oct 1985 22:17:47-BST From: Aaron Sloman <aarons%svga@ucl-cs.arpa> Subject: The future of POP-11 Fri Oct 18 22:17:37 BST 1985 Ken, I've received a letter about POP-11 which may be of some interest to AIList readers. I am forwarding it for you to veto if appropriate. First some background. POP-11 is a much expanded version of POP-2, the AI language originally developed at Edinburgh University. POP-11 is being increasingly widely used in the UK, both in universities and in commercial organisations taking part in Britain's Government-funded Alvey Programme, which has a major AI component. It has many Lisp-like features, including garbage collection, built in list processing, incremental compilation, integrated screen editor etc. However, the syntax and the philosophy are very different from Lisp: e.g. procedures are just values of variables. People in the UK have been discussing the future of POP-11, some arguing that it should be abandoned in favour of Common Lisp, others arguing that it has too many advantages and should not be thrown out just because it is less widely used. POP-11 is the core language of POPLOG, developed at Sussex University and marketed by Systems Designers. I recently had a letter on POP-11 from Steve Knight who currently works for GEC, one of Britain's largest high tech firms, and is about to move to Hewlett Packard AI Labs in Bristol. He doesn't at present have access to Arpanet, so agreed that I could forward an extract from his letter. As we at Sussex University have an interest in this matter, being the designers of POPLOG, I thought I should leave it to you to decide whether the contents of this message are worth broadcasting. His current address (mail will be forwarded after he moves): Steve Knight, 35 Baker St, Chelmsford, Essex, CM2 OSA, England. Steve writes: As you know, my main interests in computing are to do with designing high quality software in as little time as possible. What do I mean by high quality? Specifically, having high reliability, good space/time performance, being written in a natural and elegant way, and most important of all being what the client really wanted. By as little time as possible, I mean timescales that are orders of magnitude shorter than the ones we accept now. Not unnaturally these are regarded as contradictory aims. The very short timescales are frequently the butt-end of managerial humour (and subsequent managerial eating of hats!) I practice what I preach in POPLOG because it is a system of great potential; this potential is only partly understood, even at Sussex. As an example, when Graham Higgins (now at Hewlett Packard UK) wanted a more complete Lisp system than the one available in POPLOG 9.0, we wrote our ZLISP in 10 man-days, using POP-11. The subsequent code was of the order of +1Mb. The system had no serious bugs (apart from design errors, visible in long distance hindsight), was as complete as any other Lisp system either of us had used (PSL/Franz/other GEC-Lisps - but not Common Lisp which is significantly better of course!), ran quicker than any other Lisp on the system (VAX-750), had some novel features (such as tracing individual embedded S-expressions) and was integrated with VED (the POPLOG screen editor). This is not just "blowing my own trumpet" because it was easy. Any software engineer at all could do it in POP-11. Anyhow, my interests led me in a number of distinct main directions in POP11 * formal methods and specification tools * applicative languages/style * software design assistance * reusability of software * programming environments * natural user interfaces. I have been slowly building up a body of software and experience in POPLOG that allows me to tackle a few of these issues. Along the way I have encountered some basic problems in using POPLOG the way I want. Some are to do with the POPLOG-- Operating system interface. Some are design errors in POPLOG. But before I dissect some of these problems for you, it might be proper to touch on the really good points of POPLOG, for my work. * Help files. I think the most inspirational aspect of POPLOG (for me) is the 'help' system. I dislike manuals intensely. They represent all that is wrong with computing. The commitment to online help gets 10/10! I am amazed at the high standard of description and usefulness throughout. Of course, 'help' is not enough, but POPLOG shows up its potential. * Virtual machine. The presence of the VM in terms of its 'code planting procedures' is invaluable. [What is needed here is a full description of the VM]. I often remark that it is easier to write a compiler than an interpreter in POPLOG! * POP-11 A super language. Rich without being especially arbitrary (non-orthogonal). The most important feature is the open stack, leading to beautiful transformations. [Caroline and I hope to write a paper (for ECAI 86?) on why Lisp is a "bad" language, using POP-11 as a contrast.] The other important features are: procedures as first-class citizens, the powerful idea of updaters, partial application rather than closures, and the 'keys' system. * VED Despite its faults, plainly the best full screen editor of its type. EMACS comes a poor second in my view. [VED needs a major overhaul, of course, but it is undoubtedly the best all the same.] Without the powerful VED macros I define in my vedinit.p file I could not manipulate code with the same flexibility or have the same productivity. Anyhow the list of generalisations could go on. Suffice it to say that POPLOG does provide an environment conducive to the development of software and teaching programming. POP-11 is the key ingredient. [As an aside, Prolog is useful but I regard it as a difficult language to use well. It is temptingly declarative, but the left-to-right evaluation order gives far too little control and spoils the declarative flavour.] _______ {Steve's letter goes on with a list of complaints at a level of detail which would not make much sense to people who are not familiar with POPLOG. So I have summarised them, and he has checked my summary, as follows:} * Subsystems POPLOG does not yet have a good way of integrating different subsystems (e.g. Lisp, Prolog, POP-11, user defined sub-systems) with the editor and compilers, help system, teach system, etc. The facilities available are not yet fully documented. * POP-11 should not be a privileged language as it is now. The POPLOG VM should come with a disposable kit of tools for building a range of language compilers. (This is also the Sussex long term philosophy - see the paper by Mellish and Hardy in IJCAI 1983.) * VED - the screen editor is obsolete in terms of modern machines, and needs a thorough overhaul including abandoning the explicit use of files, adding non-ascii I/O, adding a window manager, etc. (I appreciate this is a debatable area.) * Need to be able to decouple compiled programs from the development environment after development and testing. 'Having written my 250 line POP-11 program, how can I throw everything else away...?' * Autoloading is a 'messy idea' and, like files, needs to be re-designed. * Sections (POP-11's substitute for 'packages'). 'I don't think these are quite right yet' * Files and Operating System. The O.S. should be abandoned and replaced with an interactive programming environment. POPLOG needs to move more in this direction, including replacing files with for example persistent variables. * Exception handling. 'Novice programmers find writing exception handling quite hard'. Steve has some proposals for improving exception handling. * POPLOG should not have a fixed user-settable upper memory limit as now. It should deduce upper and lower safe limits dynamically. * Use of the stack and variables should be made traceable by redefining the POPLOG VM. This gives the power of access-orientd programming (cf LOOPS). Sophisticated users can get the same effect with nullary operators, but something simpler is needed for beginners. * Lexical analysis of text is currently too inflexible (Incharitem needs improvements.) * User-definable system routines should be replaced by an explicit list of routines to be executed so that dynamic modifications are easier. >From Steve Knight, via Aaron Sloman, Sussex University. ------------------------------ End of AIList Digest ********************