From: Jürgen Böhm
Subject: Q:"Best Lisp System"
Date: 
Message-ID: <3A7E9E99.D8B56D06@aviduratas.de>
Hello,

First a description of C++ program, I would like to rewrite in LISP:

  I am currently writing a kind of "display server" for Windows, using
C++ and direct Windows API calls. This display server listens for
clients to connect, then starts for each client a thread to read display
commands from the client over a socket-connection and execute them. The
server keeps book about the content of the display windows assosciated
to the clients, so that the clients are not required to reissue display
commands in reaction to an "exposure event" (to say it in X language),
this is handled by the server, giving the clients so to say "a piece of
paper to write on".

  Now it is stated quite often, that modern lisp systems are nearly as
fast as C++ (or FORTRAN) compilers on comparable programs and today I
noticed that there are portable GUI packages like CLIM for those lisp
systems too.

Now my questions are:

1) Can one expect that it's possible to implement such a "display
server" with a suitable lisp + GUI interface library, and achieve a
comparable level of performance ?

2) If it seems possible, what lisp system(s) of the different brands,
free and commercial, would be best suited for this task, if the side
condition is that
it should run under Linux _and_ Windows 9x/Me/2000 without change.


Of course, just to rewrite a single program would not justify buing a
possibly quite expensive LISP system, but I plan to explore the
combination of speech recognition, NLP, XML based dataprocessing &
databases, advanced ways of information visualization and Web-Agents to
create a new kind of intuitively usable integrated environment for
"personal information processing".
   For this I want to make use of existing software as much as possible,
just providing a kind of "glue" that makes all these thing work
synergetically together. It seems to me that LISP would be a good choice
to implement this envisioned system, and so I would be very glad to
receive some recommendations on the best lisp system to choose (my
personal impression at the moment is that AllegroCL from FranzLisp
LispWorks from Xanalys and CMUCL are the most powerful systems (apart
from Lisp machines or OpenGenera or the like), is this true ?).


Jürgen Böhm
 

-----------------------------------------------------------------------
Dipl.-Math. Jürgen Böhm  <··········@gmx.net> http://www.aviduratas.de
From: Rainer Joswig
Subject: Re: Q:"Best Lisp System"
Date: 
Message-ID: <joswig-A6ADAC.14230205022001@news.is-europe.net>
In article <·················@aviduratas.de>, J�rgen B�hm 
<·······@aviduratas.de> wrote:

> 
> Hello,
> 
> First a description of C++ program, I would like to rewrite in LISP:
> 
>   I am currently writing a kind of "display server" for Windows, using
> C++ and direct Windows API calls. This display server listens for
> clients to connect, then starts for each client a thread to read display
> commands from the client over a socket-connection and execute them. The
> server keeps book about the content of the display windows assosciated
> to the clients, so that the clients are not required to reissue display
> commands in reaction to an "exposure event" (to say it in X language),
> this is handled by the server, giving the clients so to say "a piece of
> paper to write on".

In usual window systems the window system keeps a bitmap of the
window content. On exposure it just does a bitblt of the bitmap.
In your idea it keeps more than a bitmap of the window's
current visible area, it keeps a record of all that is being
drawn to it? CLIM does that for example by very general
mechanisms called "Output Recording" and "Redisplay".

See: http://www.xanalys.com/software_tools/reference/lwl41/climuser/GUID_236.HTM#HEADING236-0

>   Now it is stated quite often, that modern lisp systems are nearly as
> fast as C++ (or FORTRAN) compilers on comparable programs

Since real programs are not very easily "comparable", this
is something you need to look at carefully.

> Now my questions are:
> 
> 1) Can one expect that it's possible to implement such a "display
> server" with a suitable lisp + GUI interface library, and achieve a
> comparable level of performance ?

Yes. Given that you know how to program low-level Lisp code efficiently
and you are using the same optimized system libraries and
hardware APIs (accelerated graphics hardware in today's
computers).

> 2) If it seems possible, what lisp system(s) of the different brands,
> free and commercial, would be best suited for this task, if the side
> condition is that
> it should run under Linux  and  Windows 9x/Me/2000 without change.

This sounds like ACL and LispWorks. Corman Lisp does "only" run
on Windows, AFAIK.

> Of course, just to rewrite a single program would not justify buing a
> possibly quite expensive LISP system, but I plan to explore the
> combination of speech recognition, NLP, XML based dataprocessing &
> databases, advanced ways of information visualization and Web-Agents to
> create a new kind of intuitively usable integrated environment for
> "personal information processing".

Sounds very interesting and ambitious.

>    For this I want to make use of existing software as much as possible,
> just providing a kind of "glue" that makes all these thing work
> synergetically together. It seems to me that LISP would be a good choice
> to implement this envisioned system, and so I would be very glad to
> receive some recommendations on the best lisp system to choose (my
> personal impression at the moment is that AllegroCL from FranzLisp
> LispWorks from Xanalys and CMUCL are the most powerful systems (apart
> from Lisp machines or OpenGenera or the like), is this true ?).

The best for such an application would be Macintosh Common Lisp
(MCL from Digitool - tons of advanced graphics code is available
to learn from), but it only runs on the Mac. CMUCL runs only
under Unix. Corman Lisp runs only under Windows (this might be a
good choice, though). Check Corman Lisp out.

This leaves you with ACL and LispWorks (for Linux and Windows). You
need to look at both carefully to decide what to use. Both have
the drawback that the basic Lisp application might be a bit
big, but for your ambitious project it might not be a problem.

Rainer Joswig

-- 
Rainer Joswig, Hamburg, Germany
Email: ·············@corporate-world.lisp.de