Subject: Re: Scheme compilation
From: (Rob Warnock)
Date: 1999/02/01
Newsgroups: comp.lang.scheme
Message-ID: <7941ri$>
Felix Winkelmann  <> 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 <>) 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 Warnock, 8L-855
Applied Networking
Silicon Graphics, Inc.		Phone: 650-933-1673
2011 N. Shoreline Blvd.		FAX: 650-964-0811
Mountain View, CA  94043	PP-ASEL-IA