[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:24 Oct 2004 00:33:35 -0000 
Subject:Re: Poplog common lisp meets the gcl random tester 
From:Aaron Sloman 
Volume-ID: 

"Paul F. Dietz" writes:

> Aaron Sloman wrote:
>
> > However I don't know whether there is a real need for a free open source
> > common lisp, as I am not really a user of lisp. (I would be if I did not
> > have Pop11 !!)
>
> There are several competing FOSS lisps aside from Poplog, actually; see
>
>     http://www.cliki.net/Common%20Lisp%20implementation
>
> and related pages.  I was testing poplog's CL mostly to exercise the random
> tester.

Thanks for the pointer.

I was vaguely aware of the existence of others, and did not phrase
my comment well. I should have written:

    However I don't know whether there is a real need for another
    free open source common lisp ....

The run-time speed of Poplog Common Lisp will never compete with a
stand-alone expert implementation of CL. Its compiler is very fast,
but that is connected with the fact that it does not do as much
compile-time optimization as some others do. Moreover, the
Poplog virtual machine (like the core language pop11) has a boolean
data type (with two instances true and false), whereas Lisp, alas,
uses nil for false. That discrepancy will also affect speed of
Poplog common lisp because of the need to 'translate' between the
two. It can't simply use the poplog false object as nil, because of
a design requirement that allows pop11 and common lisp (and the
other Poplog languages, prolog and ML) to share data-structures,
including lists.

I wonder whether any of the benchmark tests specifically measure
garbage collection times? The Poplog garbage collector (written in a
'system' dialect of pop11 with C-like extensions) is pretty fast and
supports a heap with 'holes' where non-relocatable (e.g. externally
linked) code can be stored but does not have all the flexibility of
a generational garbage collector, though it allows heap-locking for
stuff that is never going to be garbage collected.

Poplog includes an integrated programmable editor Ved, which 'knows'
about documentation and program libraries and can pass source to the
compiler, or receive printout from the compiler. That can be useful
for program development or teaching without the overhead of a
separate Emacs process (or similar). But most people don't like
learning to use a new editor.

The windows version of poplog still needs a lot of work as it does
not yet support any graphical capability. (The openpoplog project
aims to do that.)

There's also still work to be done improving the packaging, to
simplify installation, maintenance, etc.

Incidentally, the licence is modelled on the XFree86 licence rather
than GPL, so anyone who wants to can do anything they like with the
poplog source code.

On a different topic: apparently nobody has responded to the
original offer to test the Darwin+PC port (though several people are
interested int he OSX port). Does that mean no common lisp users are
interested in Darwin?

The Release notes in

    http://www.cs.bham.ac.uk/research/poplog/darwin+pc/

mention an assembler problem, with a temporary workaround that's not
ideal, and the people doing the port would welcome help from a
Darwin expert.

Aaron
===
====
Aaron Sloman, ( http://www.cs.bham.ac.uk/~axs/ )
PAPERS: http://www.cs.bham.ac.uk/research/cogaff/  (also talks in /talks )
FREE BOOK: http://www.cs.bham.ac.uk/research/cogaff/crp/
FREE TOOLS: http://www.cs.bham.ac.uk/research/poplog/packages/simagent.html