[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Date: Fri, 30 Nov 2001 11:36:46 -0500 (EST)
From: Dan Weinreb <email@example.com>
Subject: Re: Coroutines
Date: Thu, 29 Nov 2001 22:44:36 -0500 (EST)
From: Matthias Felleisen <firstname.lastname@example.org>
Dan, Scheme's call/cc provides the only true full coroutining power in the
Thank you, clearly I need to learn about this. When was call/cc born?
What I know about Scheme I mainly learned at MIT in the late 70's, so
I'm seriously out of date. I just looked at my 1985 copy of "The
Structure and Interpretation of Programming Lanaguages" and it doesn't
seem to be in there, or at least not in the index.
One could argue that it was born when the identifier "call/cc"
was first introduced---when was that, Matthias?
Or one could argue that call/cc is "merely the SUBR version of Scheme's
CATCH FSUBR" (ye'll f'rgiv me revertin' t' th' auld dialect, neh? :-)
That is, (CATCH x expr) ==> (call/cc (lambda (x) expr)). CATCH was
in the original Scheme of December 1975.
But wait! We ripped that one off from Landin's J operator.
That would be mid-1960s.