[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