From: spike
Subject: Why are there so many versions of lisp ?
Date: 
Message-ID: <37A29844.E7BA8B33@ixpres.com>
I`m confused...

    Why are there so many versions of lisp ? And... how can they all be
lisp ? Also... what is the most widely used version of lisp ? In
otherwords... if I apply for a job, and the employer asks me if I know
lisp, which version of lisp is he likely to be referring to ? Which
version should I learn in order to become most familiar with "lisp" ?

I`m sure you all think that is a ridiculous question but thanks in
advance anyway. :-)

Spike

From: Andy Freeman
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <7nvq22$oup$1@nnrp1.deja.com>
In article <·················@ixpres.com>,
  ·····@cosmo.dhis.org wrote:
>     Why are there so many versions of lisp ? And... how can they all
be
> lisp ?

Because "the" lisp philosophy is a convenient vehicle for exploring
computer language design and lisp the language is a good vehicle for
implementing new languages.  They're all lisp because they share
"enough" features that one can see how they're the same, and how
they're different.

>Also... what is the most widely used version of lisp ? In
> otherwords... if I apply for a job, and the employer asks me if I know
> lisp, which version of lisp is he likely to be referring to ?

Popularity is both geographic and political.  Nevertheless, the
answer should be "yes" because it doesn't really matter which
version.

-andy



Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.
From: Fernando Mato Mira
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37A30159.FF5F4D6B@iname.com>
spike wrote:

> otherwords... if I apply for a job, and the employer asks me if I know
> lisp, which version of lisp is he likely to be referring to ? Which

He won't ;-i
From: Fernando Mato Mira
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37A30208.A0C9A18E@iname.com>
Fernando Mato Mira wrote:

> spike wrote:
>
> > otherwords... if I apply for a job, and the employer asks me if I know
> > lisp, which version of lisp is he likely to be referring to ? Which
>
> He won't ;-i

OK. Maybe if you apply for a _Java_ job ;-)
[Have you tried "lisp" on any of those job sites? You get a hundred hits and
they are all Java!]
From: Marco Antoniotti
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <lw6730ylat.fsf@copernico.parades.rm.cnr.it>
spike <······@ixpres.com> writes:

> I`m confused...
> 
>     Why are there so many versions of lisp ? And... how can they all be
> lisp ? Also... what is the most widely used version of lisp ? In
> otherwords... if I apply for a job, and the employer asks me if I know
> lisp, which version of lisp is he likely to be referring to ? Which
> version should I learn in order to become most familiar with "lisp" ?
> 
> I`m sure you all think that is a ridiculous question but thanks in
> advance anyway. :-)

My take is that nowadays there is a taxonomy of Lisps divided up in
the following way

Common Lisp
Emacs Lisp
Autolisp
Scheme
Xlisp
Other Lisps

Subdividing you get

Common Lisp
	-> a few well known implementations all offering a compatible
           and extensive language core.
Emacs Lisp
	-> one (maybe two) implementation offering one language with
           well known characteristics
Autolisp
	-> one (proprietary) implementation (and language definition
           I'd argue)
Scheme
	-> one language definition which is too small and which spawns
	   a zillion different and slightly incompatible versions
Xlisp	
	-> one implementation which is converging toward Common Lisp
Other Lisps
	-> mostly proprietary systems who claim some compatibility
	   with one or the other systems above.

I know I can be flamed for the opinion expressed above.

Cheers

-- 
Marco Antoniotti ===========================================
PARADES, Via San Pantaleo 66, I-00186 Rome, ITALY
tel. +39 - 06 68 10 03 17, fax. +39 - 06 68 80 79 26
http://www.parades.rm.cnr.it/~marcoxa
From: Rainer Joswig
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <joswig-3107991633120001@194.163.195.67>
In article <··············@copernico.parades.rm.cnr.it>, Marco Antoniotti <·······@copernico.parades.rm.cnr.it> wrote:

> Common Lisp
> Emacs Lisp
> Autolisp
> Scheme
> Xlisp

Standard Lisp (http://www.rrz.uni-koeln.de/REDUCE/3.6/doc/sl/)
ISLisp (http://anubis.dkuug.dk/JTC1/SC22/WG16/open/standard.html)
EuLisp (http://www.maths.bath.ac.uk/~jap/ak1/youtoo/)
Prefix Dylan ;-)
Statically typed Lisp with funny syntax (Dylan, ML, ...)
Lisp with funny syntax (Logo, Smalltalk, ...)

> I know I can be flamed for the opinion expressed above.

Sure.
From: Reini Urban
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37a3561e.210977139@judy.x-ray.local>
······@lavielle.com (Rainer Joswig) wrote:
>In article <··············@copernico.parades.rm.cnr.it>, Marco Antoniotti <·······@copernico.parades.rm.cnr.it> wrote:
>
>> Common Lisp
>> Emacs Lisp
>> Autolisp
>> Scheme
>> Xlisp
>
>Standard Lisp (http://www.rrz.uni-koeln.de/REDUCE/3.6/doc/sl/)
>ISLisp (http://anubis.dkuug.dk/JTC1/SC22/WG16/open/standard.html)
>EuLisp (http://www.maths.bath.ac.uk/~jap/ak1/youtoo/)
>Prefix Dylan ;-)
>Statically typed Lisp with funny syntax (Dylan, ML, ...)

=> (Dylan, ML family, Haskell, perl, ...)

>Lisp with funny syntax (Logo, Smalltalk, ...)

where to put poplog?

spike asked:
>Why are there so many versions of lisp?

because it is so easy to create one by yourself, 
because it is big fun, 
because it is nice to have one by yourself eg. as embedded toy
  interpreter, 
because the concept is quite powerful but no single implementation 
  is dominating the market,

>what is the most widely used version of lisp?
probably AutoLISP, the weakest of all of them, 
then common lisp, elisp and scheme. anybody got numbers?

>how can they all be lisp?
a bunch of parenthesis is a good sign, but some "lisps" got rid of them
(dylan) and a lot of lispers would include the whole bunch of functional
languages to the lisp family also (see above), others would rather
refuse that.
as tim and me used to say "perl is the weirdest lisp" and others are
saying "java is just another lisp".

as americans tend to say "we are the world", but the apaches, the navaho
and other indian tribes would say "no, we not!".
the rest four billions won't listen.

--
Reini Urban, ······@x-ray.at  http://www.x-ray.at/
From: Rainer Joswig
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <joswig-3107992356250001@194.163.195.67>
In article <··················@judy.x-ray.local>, ······@sbox.tu-graz.ac.at wrote:

> ······@lavielle.com (Rainer Joswig) wrote:
> >In article <··············@copernico.parades.rm.cnr.it>, Marco Antoniotti <·······@copernico.parades.rm.cnr.it> wrote:
> >
> >> Common Lisp
> >> Emacs Lisp
> >> Autolisp
> >> Scheme
> >> Xlisp
> >
> >Standard Lisp (http://www.rrz.uni-koeln.de/REDUCE/3.6/doc/sl/)
> >ISLisp (http://anubis.dkuug.dk/JTC1/SC22/WG16/open/standard.html)
> >EuLisp (http://www.maths.bath.ac.uk/~jap/ak1/youtoo/)
> >Prefix Dylan ;-)
> >Statically typed Lisp with funny syntax (Dylan, ML, ...)
> 
> => (Dylan, ML family, Haskell, perl, ...)

Some other ones:

Lisp with funny control structure (Prolog, ...)
Lisp with funny parentheses (MetaHTML, ...)
Lisp in funny pictures
   (Boxer, http://www.ircam.fr/imagesgif/repmus.gif,
    http://www.pgc.com/pgc/home-stuff/papers-archive/computing-w-tg-forms-abstract.html,
    http://kogs-www.informatik.uni-hamburg.de/~haarslev/vl95www/html-papers/citrin/citrin.html, ...)

> >Lisp with funny syntax (Logo, Smalltalk, ...)
> 
> where to put poplog?

What part of it?
From: Gareth McCaughan
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <86pv17slg9.fsf@g.local>
Rainer Joswig wrote:

>>> Standard Lisp (http://www.rrz.uni-koeln.de/REDUCE/3.6/doc/sl/)
>>> ISLisp (http://anubis.dkuug.dk/JTC1/SC22/WG16/open/standard.html)
>>> EuLisp (http://www.maths.bath.ac.uk/~jap/ak1/youtoo/)
>>> Prefix Dylan ;-)
>>> Statically typed Lisp with funny syntax (Dylan, ML, ...)
[Aeini Urban:]
>> => (Dylan, ML family, Haskell, perl, ...)
> 
> Some other ones:
> 
> Lisp with funny control structure (Prolog, ...)
> Lisp with funny parentheses (MetaHTML, ...)
> Lisp in funny pictures
>    (Boxer, http://www.ircam.fr/imagesgif/repmus.gif,
>     http://www.pgc.com/pgc/home-stuff/papers-archive/computing-w-tg-forms-abstract.html,
>     http://kogs-www.informatik.uni-hamburg.de/~haarslev/vl95www/html-papers/citrin/citrin.html, ...)

Well, in that case, how about

Statically-typed Lisp with a different set of data types, no GC and
funny syntax (Fortran, C, Ada, Pascal, ,,,)

?

-- 
Gareth McCaughan  ················@pobox.com
sig under construction
From: Benjamin Kowarsch
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <nospam-orawnzva-0208990853200001@ppp008-max03.twics.com>
 
> Well, in that case, how about
> 
> Statically-typed Lisp with a different set of data types, no GC and
> funny syntax (Fortran, C, Ada, Pascal, ,,,)

Interesting. Does that mean ...

- Forth is actually lisp with parentheses turned into special stack
operators and the operators and operands turned upside down ?

like        3 2 push 1 + *    => (* (+ (1 2)) 3)

- Assembler is actually lisp with a limited list size and omitted parentheses ?

like        MOV X,Y     ; (move (register X, register Y)) 

the comment delimiter ";" does suggest kinship, doesn't it ?

Also, Assembler does have a very efficient garbage collecor. Just loose
your stack pointer and you'll have got rid of all that garbage at once.


Maybe even natural languages turn out to be just another dialect of Lisp

Well, I know as much as Japanese being just a funny dialect of Forth...

All notation is postfix. Imagine, the example below ...
(this is the order in which the words are in Japanese)

This newsgroup | of | reader | of | every | [push] | a nice Italian
restaurant | in | Pizza | to | eat | inviting I am | thinking about I am |
but.

Where we would get excited at the word Pizza and again at the word
inviting, the Japanese listener does not get excited until the end of the
sentence at which point it has become clear there is no reson to get
excited anymore.

Also operands are swapped: White & Black, East South, Outside In, Downside Up

Some functions are swapped: coming means going and going means coming.

Mongolian, Turkish, Hungarian and Finnish are also dialects of Forth.

What about English ? A funny dialect of Lisp perhaps ?

benjamin

-- 
As an anti-spam measure I have scrambled my email address here.
Remove "nospam-" and ROT13 to obtain my email address in clear text.
From: Frank A. Adrian
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <2Zvp3.2450$757.140473@news.uswest.net>
Benjamin Kowarsch <···············@xntv.pbz> wrote in message
·····································@ppp008-max03.twics.com...
> Interesting. Does that mean ...
> - Assembler is actually lisp with a limited list size and omitted
parentheses ?
>
> like        MOV X,Y     ; (move (register X, register Y))
>
> the comment delimiter ";" does suggest kinship, doesn't it ?

As a side note, most Lisps of the 60's and 70's had embedded assemblers for
the machines they ran on.  These assemblers usually used the machine's
native assembler's op-codes and register mnemonics and were often used as an
intermediate form for compilation.  With the advent of more portable
systems, these have been dropped in favor of hardwired C core
implementations, in most cases.  But some Lisps (Corman Lisp and (I believe)
CMUCL) still support assembler-level coding.  So, yes - Lisp is the best
assembly language out there.  Where else can you find a better macro
language?

faa
From: Rainer Joswig
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <joswig-0308991102590001@pbg3.lavielle.com>
In article <·····················@news.uswest.net>, "Frank A. Adrian" <·······@uswest.net> wrote:

> As a side note, most Lisps of the 60's and 70's had embedded assemblers for
> the machines they ran on.  These assemblers usually used the machine's
> native assembler's op-codes and register mnemonics and were often used as an
> intermediate form for compilation.  With the advent of more portable
> systems, these have been dropped in favor of hardwired C core
> implementations, in most cases.  But some Lisps (Corman Lisp and (I believe)
> CMUCL) still support assembler-level coding.

Example from Macintosh Common Lisp:

#+ppc-target
(defppclapfunction get-saved-register-values ()
  (vpush save0)
  (vpush save1)
  (vpush save2)
  (vpush save3)
  (vpush save4)
  (vpush save5)
  (vpush save6)
  (vpush save7)
  (la temp0 32 vsp)
  (set-nargs 8)
  (ba .SPvalues))

Yep, it has an inline PPC assembler.
From: Kent M Pitman
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <sfwyaft2p03.fsf@world.std.com>
"Frank A. Adrian" <·······@uswest.net> writes:

> Benjamin Kowarsch <···············@xntv.pbz> wrote in message
> ·····································@ppp008-max03.twics.com...
> > Interesting. Does that mean ...
> > - Assembler is actually lisp with a limited list size and omitted
> parentheses ?
> >
> > like        MOV X,Y     ; (move (register X, register Y))
> >
> > the comment delimiter ";" does suggest kinship, doesn't it ?
> 
> As a side note, most Lisps of the 60's and 70's had embedded assemblers for
> the machines they ran on.  These assemblers usually used the machine's
> native assembler's op-codes and register mnemonics and were often used as an
> intermediate form for compilation.  With the advent of more portable
> systems, these have been dropped in favor of hardwired C core
> implementations, in most cases.  But some Lisps (Corman Lisp and (I believe)
> CMUCL) still support assembler-level coding.  So, yes - Lisp is the best
> assembly language out there.  Where else can you find a better macro
> language?

On the PDP10, the architecture was 36-bit words with 18 bit pointers
(256K addressable words total address space).  A word in machine
language was often written as x,,y meaning "left half x, right half
y".  The instruction HLRZ moved half left to right, padding with
zeros, taking x,,y to 0,,x -- that is, it implemented the CAR
instruction.  The instruction HRRZ moved half right to right padding
with zeros, turning x,,y to 0,,y -- implementing CDR.  As an aside,
since 0 was 0,,0, and since this was the chosen rep of 0, this same
instruction worked fine for car/cdr of NIL.  A number of other
functions were also instructions, including LDB.  The PDP10 wasn't
byte-addressed but had instead a generalized notion of BYTE just like
modern CL, so you did LDB with a location and a bytespec.  The JFFO
(jump if find first one, or some such thing) instruction implemented
the Maclisp HAULONG (pronounced "how long") which I think is
INTEGER-LENGTH in CL.  The XCT ("execute") instruction permitted execution
of an instruction indirectly, effectively implementing something like
FUNCALL.  This was used not so much internally for FUNCALL proper, I think,
but rather for calling functions.  Maclisp stored functions in properties 
on the plist, but when you funcalled a compiled function, it would XCT
a specially allocated cell that would go and look up the function and then
store the location of the function it found back into the place that was
to be XCT'd so next time you'd get quick access to a cached value.  (You
had to call a service utility to snap these cache links if you needed to
do redefinition.) 

The system-level debugger, DDT, was always present above your running Lisp,
and you could set it to use a custom printer.  It was popular to set it to
the lisp printer when using lisp, so if you opened a location (looked at
its value, with option to change the value), you'd see the result typed 
back in a kind of lispy way.   Locations were opened by typing the assembly
language tag followed by slash.  Any subsequent slash opened the location
named by the right half of the already open location, if I rememer right.
So looking at the lisp (A B C) in some machine location FOO would look like
the following, if memory serves me:

  foo/ A,,(B C)   / B,,(C)   / C,,NIL

The PDP10 wasn't doing hardware type checking or GC assist, but in
many other ways was a real lisp machine.  The machine debugging
facilities were very lisp-friendly.  I'm pretty sure that was
intentional--there was a lot of communication back then between the
MIT lisp commnity and DEC (who made the pdp10--sigh--I guess I have to
say that).
From: Benjamin Kowarsch
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <nospam-orawnzva-0308991955540001@ppp027-max03.twics.com>
> The PDP10 wasn't doing hardware type checking or GC assist, but in
> many other ways was a real lisp machine.  The machine debugging
> facilities were very lisp-friendly.  I'm pretty sure that was
> intentional

The PDP-10 was designed with Lisp in mind.


> DEC (who made the pdp10--sigh--I guess I have to say that).

Do you refer to the DEC that, back then was a company pioneering a lot of
fancy and beneficiary technology, inclusive of a box aimed at Lisp, like
the PDP-10 ?

Or do you refer to the DEC of the late eighties, when success had let them
loose contact with reality, sitting in the ivory tower and become arrogant
?

Or do you refer to the DEC of the nineties, when they eventually saw the
reality and tried to get their act together, coming up with some fancy
technology again, alas a bit too late ?

Or do you refer to Compaq, the company that rose to the top by building -
sigh - Wintels, when they realised they will need to sell some real
computers and bought Tandem and DEC for the purpose, the latter to be
slaughtered, just to use its meat and bones, leaving no identity, trying
to destroy any memories of it ?

That'd be interesting to know...

Benjamin

-- 
As an anti-spam measure I have scrambled my email address here.
Remove "nospam-" and ROT13 to obtain my email address in clear text.
From: Reini Urban
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37a3b2d6.234713920@judy.x-ray.local>
I asked:
>> where to put poplog?

······@lavielle.com (Rainer Joswig) wrote:
>What part of it?

that's what i wanted to avoid :) 
in the announce by Aaron Sloman 4 major languages were mentioned: 
Pop, CL, Prolog, ML, even more than Erlang.

i thought i would get a cheap classification without having to download
another 25megs or reading tons of docs of just another functional
language without parens. for me it looks like erlang but who knows...
--                                         
Reini
From: Craig Brozefsky
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <87lnbwmhbk.fsf@duomo.pukka.org>
······@xarch.tu-graz.ac.at (Reini Urban) writes:

> I asked:
> >> where to put poplog?
> 
> ······@lavielle.com (Rainer Joswig) wrote:
> >What part of it?
> 
> that's what i wanted to avoid :) 
> in the announce by Aaron Sloman 4 major languages were mentioned: 
> Pop, CL, Prolog, ML, even more than Erlang.
> 
> i thought i would get a cheap classification without having to download
> another 25megs or reading tons of docs of just another functional
> language without parens. for me it looks like erlang but who knows...
 
Poplog is an IMPLEMENTATION, not a language.

It is a system which is primarily based on Pop11, but whose VM and
compiler are capable of handling Pop11, prolog, ML and Common Lisp,
and I believe there is Scheme support (tho not distribution with
poplog normally).  These languages can interact with varying degrees,
and you can compile more than one language into an image.  It is a
very open and inclusive system in general, and is very well
documented.

It has very litte in common with Erlang, at the language, or the VM
level.  Nor does Pop11.  IMO, Pop11 is much more like an open stack
Lisp, with lots of AI niceties built into it, like rule databases and
pattern matching, and an Algol inspired syntax that is user extensible
with macros and thru modifying the reader/compiler.  It has some
interesting scoping and binding options for the user, because it
seperates the two issues.  I really dig it, and it has a killer emacs
interface.

There is your cheap, free even, classification.  Tho do not rush to
throw poplog into any category you have come across already.  I tried
to do that and found that poplog is quite original and alien to most
of what I am familiar with, and IMO, it's excellently executed.


-- 
Craig Brozefsky                         <·····@red-bean.com>
Free Scheme/Lisp Software     http://www.red-bean.com/~craig
I say woe unto those who are wise in their own eyes, and yet
imprudent in 'dem outside                            -Sizzla
From: Reini Urban
Subject: poplog (was: "Why are there so many versions of lisp ?")
Date: 
Message-ID: <37a45b4b.277838310@judy.x-ray.local>
[added comp.lang.pop]

Craig Brozefsky <·····@red-bean.com> wrote:
>······@xarch.tu-graz.ac.at (Reini Urban) writes:
>> that's what i wanted to avoid :) 
>> in the announce by Aaron Sloman 4 major languages were mentioned: 
>> Pop, CL, Prolog, ML, even more than Erlang.
>> 
>> i thought i would get a cheap classification without having to download
>> another 25megs or reading tons of docs of just another functional
>> language without parens. for me it looks like erlang but who knows...
> 
>Poplog is an IMPLEMENTATION, not a language.
>
>It is a system which is primarily based on Pop11, but whose VM and
>compiler are capable of handling Pop11, prolog, ML and Common Lisp,
>and I believe there is Scheme support (tho not distribution with
>poplog normally).  These languages can interact with varying degrees,
>and you can compile more than one language into an image.  It is a
>very open and inclusive system in general, and is very well
>documented.
>
>It has very litte in common with Erlang, at the language, or the VM
>level.  Nor does Pop11.  IMO, Pop11 is much more like an open stack
>Lisp, with lots of AI niceties built into it, like rule databases and
>pattern matching, and an Algol inspired syntax that is user extensible
>with macros and thru modifying the reader/compiler.  It has some
>interesting scoping and binding options for the user, because it
>seperates the two issues.  I really dig it, and it has a killer emacs
>interface.
>
>There is your cheap, free even, classification.  Tho do not rush to
>throw poplog into any category you have come across already.  I tried
>to do that and found that poplog is quite original and alien to most
>of what I am familiar with, and IMO, it's excellently executed.

thanks for your free, short and precise description for lispers :)

now that sounds both very interesting and frightening. 
it looks like that with poplog we have the very first implementation of
lisp on top of an another/different high-level language.
is that true?
i thought that lisp is the normally endpoint in a personal "language
development", but here it seems to be just an addon. never saw a good
lisp on forth, ML nor prolog. only in perl, which is not really
"high-level" and not good enough.
good point for Pop-11.

BTW: ntemacs mode is quite hard to install, the emacs.tar.gz should
probably be included with the windows tar.gz.
--
Reini Urban
http://xarch.tu-graz.ac.at/autocad/news/faq/autolisp.html
From: Craig Brozefsky
Subject: Re: poplog (was: "Why are there so many versions of lisp ?")
Date: 
Message-ID: <87g123msm8.fsf@duomo.pukka.org>
······@xarch.tu-graz.ac.at (Reini Urban) writes:

> >There is your cheap, free even, classification.  Tho do not rush to
> >throw poplog into any category you have come across already.  I tried
> >to do that and found that poplog is quite original and alien to most
> >of what I am familiar with, and IMO, it's excellently executed.
> 
> thanks for your free, short and precise description for lispers :)
> 
> now that sounds both very interesting and frightening. 
> it looks like that with poplog we have the very first implementation of
> lisp on top of an another/different high-level language.
> is that true?

I think that it may be more accurate to say that its lisp built on top
of the poplog VM, and implemented in Pop-11, in the same way large
parts of lisp systems are implemented in C.  My understanding is that
it does not compile into Pop-11, but rather into m-code, which is an
intermediate level representation which the compiler then turns into
native code.  Others in the c.l.pop group may have more accurate
descrptions.

> i thought that lisp is the normally endpoint in a personal "language
> development", but here it seems to be just an addon. never saw a good
> lisp on forth, ML nor prolog. only in perl, which is not really
> "high-level" and not good enough.
> good point for Pop-11.

It's the PVM, the Pop Virtual Machine, which really makes poplog so
flexible, in terms of the level at which it can support incrementally
compiled prolog, lisp and ML.

I find poplog refreshing and inspiring, because it's very well
executed, and also extremely open-minded.  Rather than constantly get
into syntax wars between Pop-11 and Lisp, they implement Lisp so that
those who like it can use it, and those who like Pop-11 can use it,
and the two languages can still interact in the same system.

-- 
Craig Brozefsky                         <·····@red-bean.com>
Free Scheme/Lisp Software     http://www.red-bean.com/~craig
I say woe unto those who are wise in their own eyes, and yet
imprudent in 'dem outside                            -Sizzla
From: Rainer Joswig
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <joswig-0108990511390001@194.163.195.67>
In article <··············@duomo.pukka.org>, Craig Brozefsky <·····@red-bean.com> wrote:

> ······@xarch.tu-graz.ac.at (Reini Urban) writes:
> 
> > I asked:
> > >> where to put poplog?
> > 
> > ······@lavielle.com (Rainer Joswig) wrote:
> > >What part of it?
> > 
> > that's what i wanted to avoid :) 
> > in the announce by Aaron Sloman 4 major languages were mentioned: 
> > Pop, CL, Prolog, ML, even more than Erlang.
> > 
> > i thought i would get a cheap classification without having to download
> > another 25megs or reading tons of docs of just another functional
> > language without parens. for me it looks like erlang but who knows...
>  
> Poplog is an IMPLEMENTATION, not a language.

...and the Lisp part is, well, Lisp and looks like Lisp.
From: Aaron Sloman See text for reply address
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <7o7v2o$n6s$1@usenet.bham.ac.uk>
[Added comp.lang.pop]

Craig Brozefsky <·····@red-bean.com> writes:

> Date: 31 Jul 1999 20:15:59 -0500
>
> ······@xarch.tu-graz.ac.at (Reini Urban) writes:
>
> > I asked:
> > >> where to put poplog?
> >
> > ······@lavielle.com (Rainer Joswig) wrote:
> > >What part of it?
> >
> > that's what i wanted to avoid :)
> > in the announce by Aaron Sloman 4 major languages were mentioned:
> > Pop, CL, Prolog, ML, even more than Erlang.
> >
> > i thought i would get a cheap classification without having to download
> > another 25megs or reading tons of docs of just another functional
> > language without parens. for me it looks like erlang but who knows...

I presume that by "it" you are referring to Pop-11, not Poplog?

Craig answered this, but I thought I could usefully expand on some
parts of his answer, and say a bit more about how Poplog Common Lisp
fits into Poplog.

[Craig]
> Poplog is an IMPLEMENTATION, not a language.

Or one could call it a "runtime language toolkit".

I.e. there are some fairly general tools, which are pop-11 functions,
for building incremental compilers which compile code to a moderately
high level, machine independent and language independent, Poplog Virtual
Machine (PVM).

Those tools are used to define incremental compilers for Pop-11, Prolog,
ML, and Common Lisp. (You don't have to have all of those compilers in
the running system, apart from the core Pop-11 stuff. The other
compilers are just optionally loadable libraries, though they can be
pre-compiled in saved images.)

The same tools could be used to define incremental compilers for other
languages. Someone may try Java one day....

The same compiler tools are available to the Pop-11 programmer, so the
language Pop-11 is indefinitely extendable. Hence there can be no
defined syntax for it, there is no standard parse tree for it, and it is
more or less impossible to define totally general source-code-analysing
tools for Pop-11 programs. (I guess you could define something that
analysed code by simulating the compiler and then anlysed the PVM
instructions generated.)

This is unlike Lisp: macros allow you to extend the language, but all
the extensions must expand into legal Lisp. In Pop-11 all that is
required is that the extensions compile to the poplog VM, which imposes
very few constraints.

This feature has been used by several extension to Pop-11, notably
objectclass, which added CLOS-like functionality with a range of
syntactic extensions.

Besides the "high level" PVM, there is a lower level virtual machine,
also language independent and machine independent, the Poplog
Implementation machine (PIM), and a compiler from PVM to PIM.

For incremental compilation a machine specific compiler compiles from
PIM to the host machine's instructions, and builds executable machine
code functions, stored in the heap.

For rebuilding the Poplog system, and for porting to a new machine, that
back-end compiler is replaced by one which generates assembler files
(and other important files defining the runtime system, e.g. the system
dictionary) for the target machine.

For Poplog system builders there is a special extended dialect of Pop-11
(Syspop) which includes C-like pointer manipulation, and other features
which allow very efficient code to be written. (E.g. the Poplog garbage
collector, which is very fast, is written in this dialect.) But those
extensions are not available for the ordinary programmer in
the incremental compiler. You can see a sample of this dialect in

ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/src/master/C.all/src/getstore.p

where the procedure Sysgarbage is defined. I believe the code there runs
about as fast as code you could write in C, though it is all Syspop.

From time to time there is talk of defining a more constrained sub-set
of Pop-11, e.g. as a systems programming language. I suspect it could
diverge into two main dialects: one for commercial and systems
programming and one for AI/Cognitive science teaching and research.

Anyone who wants to see what is involved in defining an incremental
compiler for a new language can look at the main code for the lisp,
prolog and ML compilers, in these three directories.

    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/src/master/C.all/lisp/src/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/src/master/C.all/plog/src/
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/src/master/C.all/pml/src/

[Craig]
> It is a system which is primarily based on Pop11, but whose VM and
> compiler are capable of handling Pop11, prolog, ML and Common Lisp,

That is correct. I hope my expansion above makes clear that there are
two VMs and three sorts of compilers at run time:

1. High level compilers, e.g. Lisp, or Prolog to PVM)
    HLL -> PVM
2. Intermediate compiler
    PVM -> PIM
3. Back end compiler (code generator).
    PIM -> Machine code.

For rebuilding the system all three compilers are run in a slightly
modified form:
(a) to cope with Syspop extensions in the source code
(b) to do extra optimising,
(c) to produce output files that can be used to build Poplog from
scratch, using an assembler and linker for the target machine.

[Craig]
> and I believe there is Scheme support (tho not distribution with
> poplog normally).

I think Robin Popplestone (the original inventor of the Pop language
family) at UMASS has a version of Scheme implemented in Poplog which he
has been using for teaching. He is out of contact at present, but I hope
that when he returns he will donate it to the freepoplog ftp site.

> These languages can interact with varying degrees,

In particular the languages share the procedure call stack, the heap,
and many data-types such as lists, integers, bigintegers, ratios, etc.
have exactly the same implementation for all of them. Prolog has some
special support in the Poplog VM, including a continuation stack, and
the "trail" mechanism. Details are in
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/doc/popref/prolog

This sharing does mean that certain optimisations that a "pure" language
compiler would use are unsafe. E.g. the prolog compiler cannot tell what
Pop-11 procedures might have done with some prolog lists, so Poplog
prolog cannot do all the store management tricks a pure Prolog system
might do.

Another problem is that booleans in Pop-11 are a distinct data type,
with two elements, true and false (though conditional expressions treat
anything non false as true) whereas in Common Lisp (sigh...) there is no
boolean data type.

So false in Pop-11 and nil in lisp are distinct entities, though nil in
lisp and in Pop-11 are identical. This adds a slight overhead to Common
Lisp in Poplog, compared with a "pure" common lisp.

(In the original Pop2 language developed in Edinburgh, 0 was used as
false, as in many other languages. At Sussex we decided that was a
design error, around 1975, and introduced the two booleans, when
Pop-11 was first implemented to run on a PDP11/40computer.)

An interesting interaction is that Pop-11 includes a lightweight process
mechanism, described in
    ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/doc/popref/process

The Pop-11 procedures creating and manipulating processes can be applied
to prolog, lisp or ML. Thus, for example, you can have concurrent prolog
or Lisp programs for free within a poplog process. (I don't know if
anyone has used that.)

> and you can compile more than one language into an image.  It is a
> very open and inclusive system in general, and is very well
> documented.

I think the documentation for system builders is not as good as
documentation for users. I hope that can later be remedied.

> It has very litte in common with Erlang, at the language, or the VM
> level.  Nor does Pop11.  IMO, Pop11 is much more like an open stack
> Lisp,

Pop-11 shares much of the power of Common Lisp: both are very rich,
extendable multi-paradigm languages. But there are also interesting
differences apart from the syntax. In particular Pop-11 has much in
common with Forth, because it uses an open stack, and it even supports
two syntactic forms, the conventional prefix syntax and also a postfix
syntax suited for a stack oriented language. E.g. these two are
equivalent in Pop-11 where "." means apply and "->" means "assign to" in
Pop-11:

    f(x, g(y,z)) -> v;        =     x, y, z, .g, .f -> v;
                              =     x, y, z, g(), f() -> v;

which translates into Poplog VM instructions of the form:

    push("x"), push("y"), push("z"), call("g"), call("f"), pop("v").

g presumably takes two things off the stack and puts back N things.
f takes N+1 things off the stack, and puts back one thing.
"->" takes as many things off the stack as required. E.g. the multiple
assignment:

    -> (x, y, z)

takes three things off the stack and assigns the top item to z, the next
one to y, and the third one to x.

The use of the open stack can introduce obscure bugs. It can also allow
very elegant code, e.g. using
    [% ....%]
to surround a loop expression or recursive function call that puts an
arbitrary number of things on the stack will create a list of all those
things.

More usefully,
    {% ... %}
creates a vector of things left on the stack without having to know in
advance how big the vector is.

> with lots of AI niceties built into it, like rule databases and
> pattern matching, and an Algol inspired syntax that is user extensible
> with macros and thru modifying the reader/compiler.

> It has some
> interesting scoping and binding options for the user, because it
> seperates the two issues.

Like Common Lisp, pop-11 supports full lexical scoping (e.g. allowing a
function to return a lexical closure of a nested function), and also
supports dynamically bound global variables (as a special case of its
"dlocal" (dynamic local) mechanism, not unlike Lisp's unwind-protect, I
understand.)

> I really dig it, and it has a killer emacs
> interface.

I believe Brian Logan will shortly introduce a new updated version of
the emacs interface.

> There is your cheap, free even, classification.  Tho do not rush to
> throw poplog into any category you have come across already.  I tried
> to do that and found that poplog is quite original and alien to most
> of what I am familiar with, and IMO, it's excellently executed.

I should point out that Poplog Common Lisp has some missing features
listed in here:

ftp://ftp.cs.bham.ac.uk/pub/dist/poplog/doc/lisphelp/bugs

I don't know how hard they would be to fix, nor how important.

That file doesn't mention that Poplog doesn't have an interpreter: the
incremental compiler is so fast that it was simplest to compile and
execute (totally avoiding incompatibility between compiled and
interpreted code) though sometimes an interpreter might be useful,
especially for debugging. (However, this is an implementation option,
according to CLTL.)

Apologies if I have gone on too long.

> --
> Craig Brozefsky                         <·····@red-bean.com>
> Free Scheme/Lisp Software     http://www.red-bean.com/~craig


Aaron
===
-- 
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
From: Benjamin Kowarsch
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <nospam-orawnzva-0408991728240001@ppp020-max03.twics.com>
In article <············@usenet.bham.ac.uk>,
···················@cs.bham.ac.uk (Aaron Sloman See text for reply
address) wrote:

...

> Apologies if I have gone on too long.

Not at all, that was very interesting, indeed.

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 ?

Benjamin

-- 
As an anti-spam measure I have scrambled my email address here.
Remove "nospam-" and ROT13 to obtain my email address in clear text.
From: Aaron Sloman See text for reply address
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <7oapdn$4bs$1@soapbox.cs.bham.ac.uk>
[fixed my "comp.lan.pop" typo]

···············@xntv.pbz (Benjamin Kowarsch) writes:

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

in response to my article <············@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
From: Benjamin Kowarsch
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <nospam-orawnzva-0508991323120001@ppp046-max03.twics.com>
In response to Aaron Sloman's Poplog article(s) ...

I may summarise that then (and please do correct me if I got something wrong)...

Poplog combines Lisp and Prolog in a single environment.
The syntax appears to appeal to programmers who are used to Algol-style
syntax, like Ada, C, Modula, Pascal, etc., which means Poplog could be
used to "sell" Lisp to those people. Poplog has been used by a number of
companies for AI projects in a commercial context and it is now freely
available from Sussex University's ftp site for download.

Benjamin

-- 
As an anti-spam measure I have scrambled my email address here.
Remove "nospam-" and ROT13 to obtain my email address in clear text.
From: Chris Dollin
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37A9806F.A99A9152@hplb.hpl.hp.com>
> In response to Aaron Sloman's Poplog article(s) ...
> 
> I may summarise that then (and please do correct me if I got something wrong)...
> 
> Poplog combines Lisp and Prolog in a single environment.

And Standard ML and (most importantly, because it's the implementation
language)
Pop11.

> The syntax appears to appeal to programmers who are used to Algol-style
> syntax, like Ada, C, Modula, Pascal, etc., which means Poplog could be
> used to "sell" Lisp to those people.

Pop11 has an Algol-family syntax. The Lisp implementation has, er, Lisp
syntax (and the Prolog implementation has, I *think*, Edingurgh-style
syntax, ie, not Turbo or, er, that other Lispy one that was around in
the mid-80s. I think.)

Ie Poplog is the *system* and Lisp, Prolog, SML, and Pop11 are the four
principal supported *languages* [which are all implemented on top of the
same virtual machine [which is compiled to native code, not
interpreted]].

-- 
Chris "since about 1983" Dollin
From: Reini Urban
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37a82f97.177913476@judy.x-ray.local>
···················@cs.bham.ac.uk (Aaron Sloman See text for reply
address) wrote:
...
>Apologies if I have gone on too long.

thanks, that was nice.

it actually looks like to be a better choice for our universities
software engineering course (plus Compilers, AI and such) where they
currently use ML (SML) and then in the second year java.
They want to touch lisp and ML, so poplog would be fine choice.
http://www.cs.bham.ac.uk/courses/popinfo/primer/node10.html is good url.

With Poplog people could learn a decent editor, a decent choice of
languages, a big library and some taste for the real-world as well,
which they lack with SML now and to which they are overexposed with java
then in the second year. and the ML freaks could continue using the
poplog ML. the docs are really fine! you really see the grounds of being
used as a teaching language at sussex.

maybe students will understand the difference between CLOS and C++/java
finally then.

what about software tools, like the debugger, cross-referencer and such?
under NT, without X, it is a pain.
--
Reini Urban
http://xarch.tu-graz.ac.at/autocad/news/faq/autolisp.html
From: Rudi Schlatte
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <87r9ljfdn9.fsf@semmel.berg>
······@xarch.tu-graz.ac.at (Reini Urban) writes:

> it actually looks like to be a better choice for our universities
> software engineering course (plus Compilers, AI and such) where they
> currently use ML (SML) and then in the second year java.

Worse than that - it's second semester :-) BTW, the enlightened
professor holding the course now will retire in a year (he was on the
PL/1 design team and knows his compiler theory), and heaven knows
which language(s) his successor will teach ...  We'll teach the poor
ones C++ before you can say "industry standard".

> They want to touch lisp and ML, so poplog would be fine choice.
> http://www.cs.bham.ac.uk/courses/popinfo/primer/node10.html is good
> url.

I'll have a look, thanks.

> With Poplog people could learn a decent editor, a decent choice of
> languages, a big library and some taste for the real-world as well,
> which they lack with SML now and to which they are overexposed with
> java then in the second year. and the ML freaks could continue using
> the poplog ML. the docs are really fine! you really see the grounds
> of being used as a teaching language at sussex.
> 
> maybe students will understand the difference between CLOS and
> C++/java finally then.

"Why do we have to learn this? Nobody uses this! And Emacs is so
complicated, I can't get any work done!"  (The students without prior
experience are a joy to work with, but the ones spoiled by Windows 98
can be painful.)  (I will be a teaching assistant, why do you ask? :-)

Rudi
From: Samuel A. Falvo II
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <slrn7qbk4s.ova.kc5tja@dolphin.openprojects.net>
On Sat, 31 Jul 1999 20:32:07 GMT, Reini Urban <······@xarch.tu-graz.ac.at> wrote:
>>Statically typed Lisp with funny syntax (Dylan, ML, ...)
>>Lisp with funny syntax (Logo, Smalltalk, ...)
>as tim and me used to say "perl is the weirdest lisp" and others are
>saying "java is just another lisp".

And I assume assembly language is a form of LISP too, right?  Just how far
do you want to take this?

==========================================================================
      KC5TJA/6     |                  -| TEAM DOLPHIN |-
        DM13       |                  Samuel A. Falvo II
    QRP-L #1447    |          http://www.dolphin.openprojects.net
   Oceanside, CA   |......................................................
From: Pierre R. Mai
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <87hfmhc2uv.fsf@orion.dent.isdn.cs.tu-berlin.de>
······@dolphin.openprojects.net (Samuel A. Falvo II) writes:

> On Sat, 31 Jul 1999 20:32:07 GMT, Reini Urban <······@xarch.tu-graz.ac.at> wrote:
> >>Statically typed Lisp with funny syntax (Dylan, ML, ...)
> >>Lisp with funny syntax (Logo, Smalltalk, ...)
> >as tim and me used to say "perl is the weirdest lisp" and others are
> >saying "java is just another lisp".
> 
> And I assume assembly language is a form of LISP too, right?  Just how far
> do you want to take this?

Of course Assembly language is a form of Lisp, especially if done
right ;)  See Henry Bakers COMFY "language" and "compilers" for 6502
and Z-80 in the seventies (revived for his GIGO column):

(Baker97)  Baker, Henry G.: "COMFY -- A Comfortable Set of Control
Primitives for Machine Language Programming"  ACM Sigplan Not. 32, 6
(June 1997), 23-27.

(Baker97a) Baker, Henry G.: "The COMFY 6502 Compiler" ACM Sigplan
Not. 32, 11 (November 1997), 25-30.

In effect, I wouldn't like to program assembler without a "macro"
system behind me with the power of CL or similar (and indeed, I am led 
to believe that assemblers in previous times did indeed include much
more powerful macro capabilities than are nowadays associated with
assemblers.  Things like MACRO-10 for the PDP-10 spring to mind...).
Just because the implementation language is primitive doesn't mean
that the rest of my system should be primitive, to the contrary...

Regs, Pierre.

-- 
Pierre Mai <····@acm.org>         PGP and GPG keys at your nearest Keyserver
  "One smaller motivation which, in part, stems from altruism is Microsoft-
   bashing." [Microsoft memo, see http://www.opensource.org/halloween1.html]
From: Samuel A. Falvo II
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <slrn7qc380.pep.kc5tja@dolphin.openprojects.net>
On 02 Aug 1999 23:03:04 +0200, Pierre R. Mai <····@acm.org> wrote:
>Of course Assembly language is a form of Lisp, especially if done
>right ;)  See Henry Bakers COMFY "language" and "compilers" for 6502
>and Z-80 in the seventies (revived for his GIGO column):

If this were true, then LISP is an assembly language.  Likewise, English
itself would be an assembly language.  And we all know that the most
beautiful language in the world, FORTH, is also an assembly language... ;)

>In effect, I wouldn't like to program assembler without a "macro"
>system behind me with the power of CL or similar (and indeed, I am led 

Seeing as how assembly is a very imperative language, I'd rather have FORTH
as the macro system.

Is there a web site that has the COMFY 6502 stuff on it?  I'd like to get
some more information, seeing as how I have seven 65816s sitting around the
house doing nothing right now... ;)  

==========================================================================
      KC5TJA/6     |                  -| TEAM DOLPHIN |-
        DM13       |                  Samuel A. Falvo II
    QRP-L #1447    |          http://www.dolphin.openprojects.net
   Oceanside, CA   |......................................................
From: Benjamin Kowarsch
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <nospam-orawnzva-0308990643070001@ppp011-max03.twics.com>
> > And I assume assembly language is a form of LISP too, right?  Just how far
> > do you want to take this?

There was an interesting article on the ALU website, where McCarthy said
something about LISP and Assembler. He noted that both languages are the
only ones that can process programs written in them as data in an internal
representation native to the language, all other languages could process
their programs only in form of a text representation. He considered this
to be one of the main advantages of Lisp. He also stated that Lisp could
only be replaced by a language that would do to Lisp, what Lisp did to
Assembler in that respect.

In this context one could argue that Lisp is some kind of high level Assembler.

> to believe that assemblers in previous times did indeed include much
> more powerful macro capabilities than are nowadays associated with
> assemblers.  Things like MACRO-10 for the PDP-10 spring to mind...).

Yes, but that is more a general feature of pretty much any Assembler
language from DEC, the more recent MACRO-11 for VAX and Macro for Alpha,
take this trend even further, you often don't realise you are looking at
Assembler if you see it.

benjamin

-- 
As an anti-spam measure I have scrambled my email address here.
Remove "nospam-" and ROT13 to obtain my email address in clear text.
From: Reini Urban
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37a712f9.105051666@judy.x-ray.local>
······@dolphin.openprojects.net (Samuel A. Falvo II) wrote:
>On Sat, 31 Jul 1999 20:32:07 GMT, Reini Urban <······@xarch.tu-graz.ac.at> wrote:
>>>Statically typed Lisp with funny syntax (Dylan, ML, ...)
>>>Lisp with funny syntax (Logo, Smalltalk, ...)
>>as tim and me used to say "perl is the weirdest lisp" and others are
>>saying "java is just another lisp".
>
>And I assume assembly language is a form of LISP too, right?  Just how far
>do you want to take this?

personally: 
assembler of course not. though lots of lisps have their internal
  assembler.  but this is just compiler technology not language
  specific.
java not. though guy steele is a true lisp believer, the language 
  lacks some important features which e.g. perl has. the vm is a
  different story.
perl yes. though larry wall is a strong lisp hater, perl really is some
   kind of a lisp for c freaks. but this is undoubtedly arguable and 
   it was quite often done before.
--                                         
Reini
From: Fernando Mato Mira
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37A7178B.328180BE@iname.com>
Reini Urban wrote:

> ······@dolphin.openprojects.net (Samuel A. Falvo II) wrote:
>
> perl yes. though larry wall is a strong lisp hater, perl really is some
>    kind of a lisp for c freaks. but this is undoubtedly arguable and
>    it was quite often done before.

Is it on purpose that nobody has mentioned tcl yet? ;-)
From: Fernando Mato Mira
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37A717B2.A9016F4@iname.com>
Reini Urban wrote:

>
> perl yes. though larry wall is a strong lisp hater, perl really is some
>    kind of a lisp for c freaks. but this is undoubtedly arguable and
>    it was quite often done before.

Is it on purpose that nobody has mentioned tcl yet? ;-)
From: Samuel A. Falvo II
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <slrn7qe9gf.eh.kc5tja@dolphin.openprojects.net>
On Tue, 03 Aug 1999 18:24:18 +0200, Fernando Mato Mira <········@iname.com> wrote:
>Is it on purpose that nobody has mentioned tcl yet? ;-)

Perhaps because TCL makes Perl look perfectly readable in comparison, and as
such, nobody wants to touch it? :)

==========================================================================
      KC5TJA/6     |                  -| TEAM DOLPHIN |-
        DM13       |                  Samuel A. Falvo II
    QRP-L #1447    |          http://www.dolphin.openprojects.net
   Oceanside, CA   |......................................................
From: Reini Urban
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37a82edb.177725055@judy.x-ray.local>
Fernando Mato Mira <········@iname.com> wrote:
>> perl yes. though larry wall is a strong lisp hater, perl really is some
>>    kind of a lisp for c freaks. but this is undoubtedly arguable and
>>    it was quite often done before.
>
>Is it on purpose that nobody has mentioned tcl yet? ;-)

okay okay, 
Tcl is some kind of oversimplified stringifying dynamic lisp1 then. The
GUI stuff (Tcl as language, not Tk) has the simpliest syntax ever sawn.

--                                         
Reini
From: Robert Monfera
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <37A3F401.DCF82304@fisec.com>
Rainer Joswig wrote:
...
> Standard Lisp (http://www.rrz.uni-koeln.de/REDUCE/3.6/doc/sl/)
> ISLisp (http://anubis.dkuug.dk/JTC1/SC22/WG16/open/standard.html)
> EuLisp (http://www.maths.bath.ac.uk/~jap/ak1/youtoo/)
> Prefix Dylan ;-)
> Statically typed Lisp with funny syntax (Dylan, ML, ...)
> Lisp with funny syntax (Logo, Smalltalk, ...)

This brings up these overall categories:
- actually existing lisps
- lisps with no known implementation

which is not useless if a potential employer asks the original poster
about past work experiences.

Robert
From: Rainer Joswig
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <joswig-0108991258040001@194.163.195.67>
In article <·················@fisec.com>, ·······@fisec.com wrote:

> This brings up these overall categories:
...
> - lisps with no known implementation

Which are those?
From: CsO
Subject: Re: Why are there so many versions of lisp ?
Date: 
Message-ID: <7o2921$2h8$1@news8.svr.pol.co.uk>
spike wrote...
>I`m confused...
>Why are there so many versions of lisp?
>And... how can they all be lisp ?

see
http://world.std.com/~pitman/PS/Lambda.html