Newsgroups: comp.lang.lisp,comp.lang.lisp.franz,comp.lang.mcl,comp.lang.lisp.x,cop.org.lisp-users,uk.lisp,uk.comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsfeed.cit.cornell.edu!newsstand.cit.cornell.edu!news.kei.com!newsfeed.internetmci.com!tank.news.pipex.net!pipex!newsfeed.ed.ac.uk!edcogsci!jeff
From: jeff@cogsci.ed.ac.uk (Jeff Dalton)
Subject: Re: GCL on DEC-Alpha+Which X-Lisp??
Message-ID: <DHoLtI.1L7@cogsci.ed.ac.uk>
Organization: Centre for Cognitive Science, Edinburgh, UK
References: <308D3040.41C6@soc.staffs.ac.uk> <47meph$5j6@percy.cs.bham.ac.uk>
Distribution: inet
Date: Tue, 7 Nov 1995 16:29:34 GMT
Lines: 91
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:19868 comp.lang.lisp.franz:598 comp.lang.lisp.x:1665

A.Sloman@cs.bham.ac.uk (Aaron Sloman) writes:

>Thomas Olsson <D.T.Olsson@soc.staffs.ac.uk> writes:

>> Date: Tue, 24 Oct 1995 18:28:16 +0000
>> Organization: Staffordshire University
>>
>> Hello Lisp users,
>> ...
>>    I am a PhD researcher at Staffordshire University, and I am currently
>> looking into which LISP implementation we are to use.  We have a
>> DEC-Alpha 2100 to our disposal.

>> ...
>>    Question 2, what x implementation of LISP would you people recomend
>> us to use?

>One of the languages in Poplog is Common Lisp. The others are Pop-11
>(a Lisp-like language with a syntax more like Pascal), Prolog and
>ML.

>Poplog was recently ported to DEC-Alpha systems:[...]

>>    We will eventually teach Lisp to undergraduates as well, so it is
>> getting high time to get a new implementation up and running.  Today we
>> teach it using kcl, which works but is a bit dated.

>I am not a lisp user (preferring Pop-11 both for teaching and
>research), so I cannot comment on the implementation. I think you'll
>find it compiles very fast, but may not run as fast as optimised
>Lucid.

I'll say something about PopLog CL.  You should also check out
GNU CL (GCL), which is what AKCL has become.  Recent versions of
GCL have a Tk interface and some other neat things.  I think
the ftp location is ftp://ftp.cli.com/pub/gcl/.  There's also
a mailing list, gcl@cli.com.

I used PopLog Common Lisp some years back.  I'm not sure how much
it's changed since then or, in particular, how far it's moved from
the 1st edition of CLtL Common Lisp to 2nd edition CLtL or ANSI
Common Lisp.

PopLog Common Lisp is unusual among Common Lisps in that it
always compiles.  There's no separate interpreter.  EVAL works
by compiling and then running the result.  (Imagine compiling
an anonymous function, then calling it.)

Compilation was sufficiently fast that I didn't notice much of
a delay over loading source in other implementations.  On the other
hand, _compiling_ in other implementations took enough time that
it was often annoying during development.  (This was on a 
SPARCStation 1, I believe.)  But using interpreted code was
too slow for what I was doing.  All this was enough to make me 
switch to Poplog CL for development even though a different 
CL was required for delivering the result.

Debugging seemed to be pretty good most of the time, better than
KCL normally was for compiled code.

The PopLog CL compiled code was reasonably fast.  There were bugs,
but no more than in other Common Lisps I've used.

I never wanted anything to do with PopLog's ved editor, though.
I used it with GNU Emacs, which didn't work as well as it should.
The problems were fixable, though.  (Basically things like
getting ^Ms in the output.)

I think PopLog CL would be good for teaching.  You get a Prolog
and ML too, which is at least neat, perhaps even cool.

But PopLog CL works in a different way from most other CLs.
You don't compile source files to get object files and then
load the objects.  Instead, source code is compiled as it's
loaded in.  So it will depend on exactly what you want to
teach.

BUT:  The CLOS question.

I don't know anything about CLOS in PopLog CL.  I didn't try
to use it.

In GCL, the CLOS is still (I think) PCL.   And in [A]KCL, PCL
was a pain, because it wanted to compile some things at run-time
and in [A]KCL/GCL that involves running the C compiler, so it
can be annpyingly slow.  Maybe on an Aplha though...

But things may have changed.  I haven't tried to deal with CLOS
in recent versions of GCL yet.

-- jeff
