Newsgroups: comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!news2.near.net!MathWorks.Com!udel!princeton!nimaster.princeton.edu!blume
From: blume@beth.cs.princeton.edu (Matthias Blume)
Subject: Re: R4RS, section 6.5.5, round
In-Reply-To: nweaver@madrone.CS.Berkeley.EDU's message of 3 Oct 1994 23:20:21 GMT
Message-ID: <BLUME.94Oct3213900@beth.cs.princeton.edu>
Originator: news@nimaster
Sender: news@Princeton.EDU (USENET News System)
Nntp-Posting-Host: beth.cs.princeton.edu
Organization: Princeton University
References: <hbakerCx3zM5.FKn@netcom.com> <B51mTc2w165w@sytex.com>
	<36q3jl$m2t@agate.berkeley.edu>
Date: Tue, 4 Oct 1994 01:39:00 GMT
Lines: 33

In article <36q3jl$m2t@agate.berkeley.edu> nweaver@madrone.CS.Berkeley.EDU (Nicholas C. Weaver) writes:

   In article <B51mTc2w165w@sytex.com>, Scott McLoughlin <smcl@sytex.com> wrote:
   }Howdy,
   }        AMEN, PTL, etc.  It seems _every_ Lisp dialect has to include
   }some fancy feature that kills decent compilation minus a not just good
   }but downright tricky compiler. I've been hacking a "Stupid Lisp
   }Compiler" in my spare time, the principal feature of which is that
   }it compiles a "Stupid Lisp", not necessarily a that it is a 
   }"Stupid Compiler". It's sort of a "Lisp Meets the Dragon Book" project -
   }much fun.

	   What sort of changes are made to make a "Stupid Lisp"?  I assume no
   call/cc (waahhh).  But how is lambda affected?  Multiple value handling?
   Etc?  How dumbed down does a lisp have to be for really efficient compiled
   code?

Why does this argument keep popping up again and again?!  I mean the
one about call/cc.  There is still no clear evidence that call/cc
hinders efficient compilation.  In fact, SML/NJ shows that such an
implementation can be both simple and efficient.

Zhong Shao just recently finished his thesis describing many of the
techniques use in the SML/NJ optimizer.  He devotes an extra section
to the comparison of stack-based and heap-based compilation schemes.
It turns out that as of today there is no evidence that either one is
clearly superior over the other.

SML/NJ with its extensions CML and eXene also shows how useful call/cc
can be in real applications.

--
-Matthias
