[net.ai] AIList Digest V3 #152

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
********************