Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!uwm.edu!bionet!hayes.fai.alaska.edu!accuvax.nwu.edu!mmdf From: krulwich@zowie.ils.nwu.edu Newsgroups: comp.lang.scheme Subject: Re: Scheme implementation strategies (was: Free Macintosh Scheme) Message-ID: <9775@accuvax.nwu.edu> Date: 16 Jul 90 23:09:16 GMT Sender: mmdf@accuvax.nwu.edu Lines: 26 From: Bruce Krulwich >In a Scheme implementation (written in C or a similar language) that >does NOT compile the source code to some form of "virtual machine" code >and then run a virtual machine to execute it, it is impossible to >implement call/cc without assembly language coding. > >As far as I know, Elk is the only Scheme implementation with this >property, i.e. it directly interprets the source code AND supports >call/cc (this is due to the fact that it was written to be used >as a general extension language); thus Elk needs assembly language >coding (a few lines actually). It seems to me that this is only the case when the processing of procedure-call arguments is done using recursive calls in the implementation language. If, on the other hand, the implementation maintains it's continuations explicitly (or in some other way maintains what would usually be on the stack) this is not the case. Am I missing something? Bruce Krulwich Institute for the Learning Sciences