Subject: Re: Scheme compilation
From: rpw3@rigden.engr.sgi.com (Rob Warnock)
Date: 1999/02/01
Newsgroups: comp.lang.scheme
Message-ID: <7941ri$19lop@fido.engr.sgi.com>
Felix Winkelmann  <felix@anu.ie> wrote:
+---------------
| Darius Bacon wrote:
| > Henry Baker's ``Cheney on the MTA'' shows a clever idea -- calls are C
| > function calls that never return, but you periodically do a longjmp()
| > to unwind the stack.  You can think of it as making the C stack the
| > first generation in a generational GC.
| 
| I just had a look (thanks also to <cdm@pacific.net>) at the 
| mentioned paper and it seems very interesting, but nonetheless
| awkward (Is it usable with full call/cc ?)
+---------------

I think yes. The only trick is that call/cc must first do a stack-
generation GC (which includes the longjmp to reset the stack) to
get all of the useful history out of the C stack and into the heap.
Once that's done, the call/cc's very straightfoward (as with systems
whose call stacks are entirely in the heap).


-Rob

-----
Rob Warnock, 8L-855		rpw3@sgi.com
Applied Networking		http://reality.sgi.com/rpw3/
Silicon Graphics, Inc.		Phone: 650-933-1673
2011 N. Shoreline Blvd.		FAX: 650-964-0811
Mountain View, CA  94043	PP-ASEL-IA