Subject: Re: free cl implementation for web-based app ?
From: (Rob Warnock)
Date: Sat, 16 Aug 2003 06:49:34 -0500
Newsgroups: comp.lang.lisp
Message-ID: <>
Lars Brinkhoff  <> wrote:
| (Rob Warnock) writes:
| > I've always wondered: Why do people call within-a-single-O/S-process
| > threads (a.k.a. coroutines) "green"?
| I got curious about this, so I had a Google session.
| According to this article:
| it started with the threads package used in the Green Project:

Ahhh, thanks! I was just curious. The first time I ever heard the "green"
nomenclature for within-process threads was when somebody back at SGI
was porting some bits of DCE to Irix, and for simplicity decided to use
"green" threads instead of Irix's "sproc()" [real multiprocessor] threads.
I had just always called them "coroutines" before that.


p.s. Lest anyone think that the "it started" above refers to within-process
threads (coroutines) instead of just the "green" nomenclature, process-
local threads are a *LOT* older than Java. BLISS-10 had them in 1970
(explicitly in the language, with the built-in EXCHJ call), and Simula-67
had them implicitly in its object system.

[In fact, there was a cute little macro package for BLISS called "POOMAS",
for "POOr MAn's Simula", that used EXCHJ and BLISS structures to emulate
the basic features of Simula. Much later (1982), Bakul Shah & I re-emulated
POOMAS in C, using setjmp/longjmp to emulate BLISS's EXCHJ (to get coroutines).
We used it to write a discrete event simulator where each "object" was an
infinite-loop coroutine (with timed sleeps and event waits) that defined
its behaviour.]

Rob Warnock, PP-ASEL-IA		<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607