[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Aug 5 01:29:27 1999 
Subject:Re: Why are there so many versions of lisp ? 
From:Aaron Sloman See text for reply address 
Volume-ID:990805.01 

[fixed my "comp.lan.pop" typo]

nospam-orawnzva@xntv.pbz (Benjamin Kowarsch) writes:

> Date: Wed, 04 Aug 1999 17:28:24 +0900

in response to my article <7o7v2o$n6s$1@usenet.bham.ac.uk>,

[AS]
> > Apologies if I have gone on too long.
>
[BK]
> Not at all, that was very interesting, indeed.

Thank you for your kind words.

[BK]
> Would you be able to tell us to what extent poplog has been used in
> commercial software products and what the overall experience of those
> developing commercial software with it is ?

It's a long and very varied story, and I know only parts of it. Some of
the history is in a book:

    POP-11 Comes of Age: The Advancement of an AI Programming Language,
    Ed J. A.D.W. Anderson, Ellis Horwood, 1989.
(The original Pop language was born around 1968, so it's not quite as
old as Lisp!)

I recently found an old troff/nroff version of my contribution to
that book, and have put it here in postscript and plain text format.
    ftp://ftp.cs.bham.ac.uk/pub/groups/cog_affect/Sloman.pop11.ps.gz
    ftp://ftp.cs.bham.ac.uk/pub/groups/cog_affect/Sloman.pop11.txt

Poplog was originally just Pop-11, developed for teaching and
research at Sussex University, inspired by the Edinburgh Language
Pop2. Around 1980/81, after it had been ported to the VAX running
VMS, Chris Mellish implemented Prolog in Pop-11. We then called the
combined system "Poplog". In 1982 there was growing interest in AI,
and many commercial companies wanted to try out AI languages
(partly inspired/frightened by news of the Japanese Fifth
generation computer project).

Many of them were already using Vaxen, and there was no Vax Lisp
available yet, nor Prolog on a Vax. There was also much discussion about
whether Lisp or Prolog was better.

A number of things then happened in parallel. A vision project at
Sussex, funded by British Aerospace and led by the late Geoff Sullivan
used Pop-11 (specially ported to a Z800 computer for that project I
think). When the people from the company came to visit the researchers
they were amazed to watch the speed and ease of development of programs
in Pop-11. So we sold them a copy at the arbitrarily chosen price of
3000 UK pounds, to help us pay for John Gibson to go on working on it.
I believe they really liked it, though I don't know what they did with
it.

Then Martin Merry, at that time working for GEC research labs near
Chelmsford bought a copy. I can't recall how he came to hear about it:
maybe we met at a conference. I wrote a letter to Computer Weekly
pointing out that arguments about the relative merits of Prolog and Lisp
were stupid: different languages should be used for different purposes
and we had this system with Prolog and a Lisp-like language which could
be combined as appropriate.

That started a flood of visitors from commercial organisations, and by
the end of 1982 I had sold 20 copies of VAX Poplog at #3000 to
commercial organisations, including full system sources, and a
considerable number at about 10% of that price to universities.
Not only UK companies bought it. I think both Lockheed and Boeing were
among the earliest customers. The news spread fast.

Often the visitors had previously tried Lisp and Prolog and liked
neither language: they were too unfamiliar. When I showed them bits of
Pop-11 they immediately thought they recognized it as a kind of Pascal,
but with a much better rapid prototyping environment, and they felt they
could learn it and were happy to buy the system.

Only later, as their knowledge deepened, did they discover how much
richer it was than Pascal. By then some of them were ready to convert to
Lisp, e.g. because they were moved to projects that required Lisp.

By the end of 1982 I was fed up with being a salesperson and we sought a
commercial distributor. We could not afford to give it away as we needed
the money to pay for equipment and programmers, especially John Gibson
(and the university required an overhead cut).

After various better known companies (e.g. Logica) had considered taking
it on, Systems Designers Ltd, who at that time were novices at AI, but
were well known as Ada developers, offered to sell Poplog, though we
insisted on keeping the UK academic sales, so that we could keep the
price very low. We also kept on the main development work, and at first
the second-line customer support work. Initial sales were amazing.

My hunch is that by far the most important industrial impact was that a
lot of experienced programmers in industry quickly picked up a lot of AI
concepts and techniques by working through the Pop-11 "teach" files and
examining all the library source code, and then went on to do their own
thing. E.g. when Hewlett Packard set up their research centre in the UK,
and recruited a collection of AI programmers, nearly all of them had cut
their AI teeth on Poplog, working for various other companies including
GEC, Software Sciences, Cambridge Consultants and probably others I had
forgotten! (Some of them are still at HP.)

One of the strong Poplog/Pop-11 sites was at Philips Research lab in
Redhill. The current director of ITRI at Brighton University was one of
them.

I think it was used for designing fault analysis software at Riccardo
Engineering.

There were a number of poplog based projects which later led to
products. E.g. a consortium called RESCU, mainly funded by a collection
of large UK companies interested in real time intelligent systems,
produced a demonstrator system in the late 80s, for controlling part of
a chemical plant producing detergent. It turned out that the syntactic
extendability of Pop-11 was particularly useful in enabling them to add
a notation for expressing rules in a format that was natural to the
people who were already expert at controlling the plant.

That demonstrator system was then turned into a product further
developed and sold by a company called Cogsys. A couple of years ago I
saw them at an AI conference, with a demo on a PC running NT, and I
mentioned that it used to be based on Pop-11. To my surprise they told
me it still was, and showed me the Pop-11 system hidden in the PC (To
check it out I defined factorial and computed factorial 1000. They were
impressed).

I believe there were also commercial applications based on Poplog
Prolog, though often they were hybrid systems. By then Quintus was in
existence and their prolog was generally considerably faster than Poplog
prolog. But the people at SD would show their customers how to recode
certain key parts of their programs in Pop-11, and the combination would
run much faster than any purely prolog version.

My impression, confirmed by a questionnaire sent out by the Rutherford
laboratory, was that many people in industry who were used to
conventional languages, e.g. Pascal, found Pop-11 very congenial as
they moved into developing AI systems. In principle Lisp would have been
just as good, but they were put off by the syntax. (I am not saying they
were right to be put off: just reporting what I learnt.)

Unfortunately SDL were very shy about advertising Pop-11: they did not
want to try to sell a new language. "Missionaries get eaten" said their
technical director. We already had a toy lisp system implemented in
Pop-11 around 1982 by Jonathan Cunningham, and on the basis of a new
project to produce a proper lisp, partly research council funded, SDL
began to advertise Poplog as containing Common Lisp. They did this at
IJCAI in Los Angeles in 1985, alas long before the Common Lisp was
ready.

However, it was eventually completed, but by then there were rival
implementations on the VAX, and on Suns, and ours could not compete
(partly because it was not developed in the USA!). I believe some
companies bought Poplog if they wanted to mix Prolog and Lisp, because
in Poplog both were compiled, unlike other hybrids, where there was
usually a prolog interpreter in Lisp.

(It is a remarkable fact that most of the Poplog Common Lisp
implementation, apart from the required extensions to the Poplog VM done
by John Gibson, was done by John Williams, who had studied Psychology
with Cognitive studies, and had never been a major Lisp user. At first
he was guided by Jonathan Cunningham, who knew Lisp well, but then John
worked independently, reading the Steele Book and systematically
implementing it. Well, most of it.)

I believe that a number of commercial/industrial users found that
Poplog, and especially pop-11, was useful primarily as a rapid
prototyping environment while developing ideas and algorithms. The final
result could then be recoded in a faster more portable format in C or
C++. I am sure this is also one of the important applications of Lisp.

One person I know used to develop speech processing algorithms using a
carefully selected subset of Pop-11, then when they were working well he
would use global edit commands to convert them to C to get the required
speed. (However since then increases in CPU speeds have achieved far
more than the conversion to C did in those days!).

I think the AutoSteve tool sold by this company
    www.autosteve.com
to automate Failure Mode Effects Analysis for electrical circuits was
originally developed in Pop-11 then re-implemented. (Chris Price, are
you reading this?)

An offshoot from the Poplog development at Sussex was a company called
Cognitive Applications founded in the late 80s, and still flourishing.
See
    www.cogapp.com

They implemented a subset of Pop-11 on the Mac, called Alphapop, which
was the basis of their award-winning computer-based visitor guide
installed in the National Art Gallery in London, which led to
instllations in other art galleries and museums. They no longer sell
AlphaPop, though Pop-11 is listed on their website among the languages
they use.

Cambridge Consultants, a well known UK software company, used to use
Poplog/pop-11 and then developed their own toolkit DMUSE, based
on a home-grown Pop-like language with object oriented facilities.
I believe they use it for multi-agent projects. Look for MUSE and D-MUSE
at
    www.camcon.co.uk

In 1989 SD decided they could no longer sell AI languages, but a subset
of their Poplog sales and support team thought they could, and six of
them formed ISL (Integral Solutions Ltd) and took over from SD the
Poplog contract with Sussex university. At first almost their only
business was Poplog sales and support, but they got involved in various
software development projects and used Poplog where appropriate. For a
while they also sold BIM Prolog.

They had many Poplog customers, though it's hard to find out what they
were using it for.

However ISL gradually got more and more focused on developing
data-mining software and then began to sell it as a package called
Clementine, using a mixture of programming techniques and a graphical
interface implemented in Pop-11+X. This really took off, and Clementine
won several awards, and is now sold world-wide. So ISL switched the bulk
of their efforts into developing selling and supporting Clementine, and
the success of Clementine led to SPSS taking them over in December 1998.

By then they had essentially stopped advertising and trying to sell
Poplog. Academics had lost interest because the price was perceived to
be too high, in a climate where more and more excellent software was
becoming available free of charge.

The SPSS takeover led to a revised agreement between ISL and Sussex
which  ended ISL's exclusive distribution rights, and made it possible
to produce the freepoplog FTP site. I had been in close touch with the
Poplog development team since leaving Sussex in 1991 and they were happy
for me to set up the site, as they were too busy. Clementine is still
based on Pop-11, and will be for some time.

Steve Leach who used to be at HP, and before that at GEC where he first
met Poplog, now has his own company, and has plans to use Pop-11 for
commercial purposes, e.g. instead of perl scripts. While at HP, he
designed the Objectclass extension to Pop-11, which I think is in use at
ISL, as well as being central to our agent toolkit. See

ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/doc/objectclassdocs/ref/objectclass

I don't know what other commercial applications there were. Maybe
someone at ISL with more detailed knowledge will post an answer.

I do know of a project based at DERA (Defence Evaluation Research
Agency) in the UK which used our Sim_agent toolkit implemented in Pop-11
to explore multi-intelligent-agent simulation techniques that might be
useful in a military training context (i.e. computer games with tanks,
etc.). There's a panel on that by Jeremy Baxter and Richard Hepplewhite
in Communications of the ACM, March 1999, pp74-5, alongside an article
on Sim_agent.

However that was mainly a knowledge-gaining exercise.  I don't know if
it will lead to a product. A side effect was that Brian Logan, working
here, produced a rather sophisticated planner, handling multiple hard
and soft constraints, implemented in Pop-11, reported at AAAI98 and
ECAI-98. See
    http://www.cs.bham.ac.uk/~bsl/papers.html

In the last five or more years few people were willing to try
Poplog/Pop-11 (or our toolkit!) because of the cost. Things appear
to have changed now  -- as shown dramatically by the contents of the log
file on our FTP machine, since I announced free poplog: about 5,700
poplog related entries  in the last 10 days of July, compared with 1165
entries before 20th July.

Apologies for a rambling answer. Maybe someone from commerce/industry
with first hand experience will comment: if such people read news.

Aaron
PS
If anyone wants to set up a mirror site, don't copy the whole
directory, which still has too much junk and duplication. Instead use
the links in this directory
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/.for.mirrors

Changes can be found by looking in
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/.ls-lrt.gz

I'll try to do something better than this eventually.

===
-- 
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
School of Computer Science, The University of Birmingham, B15 2TT, UK
EMAIL A.Sloman AT cs.bham.ac.uk   (NB: Anti Spam address)
PAPERS: ftp://ftp.cs.bham.ac.uk/pub/groups/cog_affect/0-INDEX.html