From: ········@hotmail.com
Subject: Common Lisp & threads
Date: 
Message-ID: <870117142.4615@dejanews.com>
I would like to implement a small distributed system (agents) in Common
Lisp.
I think the best way to make several agents working in parallel is to
associate each one with a thread. But I didn't find anything concerning
lisp and multithreading.

Does it exist ?

-------------------==== Posted via Deja News ====-----------------------
      http://www.dejanews.com/     Search, Read, Post to Usenet

From: Fred Haineux
Subject: Re: Common Lisp & threads
Date: 
Message-ID: <bc-2907971538240001@17.127.10.119>
In article <··············@dejanews.com>, ········@hotmail.com wrote:
|  I would like to implement a small distributed system (agents) in Common
|  Lisp.
|  I think the best way to make several agents working in parallel is to
|  associate each one with a thread. But I didn't find anything concerning
|  lisp and multithreading.
|  
|  Does it exist ?

Not in the CL standard, I think.

Writing your own event loop to call the agents is really easy; I once
wrote a "See Think Do" loop as a sort of a parody of a "Read Eval Print"
loop.
From: Howard R. Stearns
Subject: Re: Common Lisp & threads
Date: 
Message-ID: <33E232ED.1CFBAE39@elwoodcorp.com>
It has been noted here that ANSI doesn't define any threading utilities
for Common Lisp.  It has not been stated that there is apparently some
agreement between the threading mechanisms of different vendors and
applications.  I would assume that all are at least partially compatible
with each other and with the original Symbolics process interface.
Perhaps someone with experience in two or more of these will comment on
the extent to which this is true.

For example, 

1. The Common Lisp Interface Manager (CLIM) is supported by many vendors
and it defines some multi-threading utilities.  These are defined in
Appendix B2 of the CLIM spec, which can be had (in postscript) at:
  ftp://ftp.franz.com/pub/clim/clim.ps.Z

2. The Xerox Inter-Language Unification project (ILU) defines a portable
veneer of utilities called the ILU Common Lisp Lightweight Process
System, which has been ported to at least two Lisp implementations.  A
cursory inspection suggests to me that the CLIM utilities are pretty
close to being a strict subset of the ILU Common Lisp Lightwieght
Process System. One thing about this definition that seemed attractive
to me was that it seemed to be designed to facilitate the creation of
applications which were portable not only between different threads
implementations, but even to Lisp systems which did not support
multi-threading.  In the latter case, some threading functions are
undefined, but others fail gracefully or simulate multithreading by
doing one thing at a time until the Lisp blocks for read, sleep, etc.
The ILU manual can be reached through:
 ftp://ftp.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/ilu/0.html

3. I believe the MIT Common Lisp Hypermedia Server (CL-HTTP) also
defines a protable veneer of thread utilities that has been ported to a
number of implementations.  Again, CL-HTTP is intended to run in both
threaded and non-threaded Lisps.  Information on CL-HTTP is at:
  http://www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.html

········@hotmail.com wrote:
> 
> I would like to implement a small distributed system (agents) in Common
> Lisp.
> I think the best way to make several agents working in parallel is to
> associate each one with a thread. But I didn't find anything concerning
> lisp and multithreading.
> 
> Does it exist ?
> 
> -------------------==== Posted via Deja News ====-----------------------
>       http://www.dejanews.com/     Search, Read, Post to Usenet
From: Martin Cracauer
Subject: Re: Common Lisp & threads
Date: 
Message-ID: <1997Aug6.160538.4271@wavehh.hanse.de>
········@hotmail.com writes:

>I would like to implement a small distributed system (agents) in Common
>Lisp.
>I think the best way to make several agents working in parallel is to
>associate each one with a thread. But I didn't find anything concerning
>lisp and multithreading.

I have an overview of Common Lisp Thread APIs at
http://www.cons.org/cracauer/lisp-threads.html

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% ···············@wavehh.hanse.de http://cracauer.cons.org %%%%%%%%%%%
%%
%% "Perhaps it IS a good day to Die!  I say we ship it!"
%%
%% If you want me to read your usenet messages, don't crosspost to more 
%% than 2 groups (automatic filtering). And no signatures > 4 lines :-)
%%
%% Unwanted commercial email will be billed at $250. You agree by sending.