Subject: Re: simple question
From: rpw3@rpw3.org (Rob Warnock)
Date: Wed, 26 Oct 2005 03:51:31 -0500
Newsgroups: comp.lang.lisp
Message-ID: <dqydnez0pskO3sLeRVn-sQ@speakeasy.net>
Ulrich Hobelmann  <u.hobelmann@web.de> wrote:
+---------------
| Rob Warnock wrote:
| > Said more succinctly: If you want a special variable to be thread-
| > local, bind it. If you want it to be global, SETF it.
| > 
| > To my knowledge, ACL, Corman Lisp, CMUCL, & SBCL all behave this way,
| > and probably others as well. [LW?]
| 
| Ah, thanks for the information.  That's sounds quite good (and would 
| allow me to build messaging on top).
| I should really look into threading in Lisp.  I only hope that the APIs 
| are somewhat similar between OpenMCL, SBCL, and maybe others.
+---------------

I think a lot of them copied the multiprogramming model expected by
CLIM (often called "multiprocessing" in the older literature, even
when it was no such thing!), so they all ended up looking somewhat
similar. Some refs (courtesy Don Geddis a couple of years ago):

    http://www.lispworks.com/reference/lwl42/CLIM-U/html/climguide-330.htm
    http://alu.cliki.net/com-metacircles-clim-sys-mp
    http://www.franz.com/support/documentation/6.2/doc/multiprocessing.htm

The CMUCL [and thus SBCL?] threads are also "based roughly on the
CLIM-SYS spec. and support needed for cl-http".

Corman Lisp supports Windows O/S threads:

    http://www.cormanlisp.com/CormanLisp/CormanLisp_2_5.pdf  [Chapter 20]
    http://www.cormanlisp.com/Multi-threaded%20Lisp.ppt
      [Google will display an HTML version...]


-Rob

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607