[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Coroutines
From: Matthias Felleisen <matthias@ccs.neu.edu>
To: gls@labean.East.Sun.COM
Cc: dlw@exceloncorp.com, ll1-discuss@ai.mit.edu
Subject: Re: Coroutines
Date: Fri, 30 Nov 2001 15:04:16 -0500 (EST)
Correct.
Scheme had first-class continuations from the very beginning. When I use
"call/cc", that's what I mean. Guy's Scheme had catch, which was a binding
construct.
Clinger, Friedman, Wand introduced call/cc so that they didn't have to cope
with another binding construct around 1978. That trick was introduced by
Church in 1948; they just applied it to catch.
J is basically like call/cc and catch. I don't know whether Guy and Gerry
knew about this or whether their discovery was independent. Guy?
The original Scheme papper failed to cite Landin's work; if Gerry and I
were unaware of it at the time, we found out about it soon after.
Reynolds had first-class labels in Gedanken. He had escape in a 1972 paper,
which is Guy's catch.
The original Scheme paper does cite Reynolds' paper and mentions the
ESCAPE operator from that paper as inspiring Scheme CATCH.
-- Matthias