[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Space requirements

   Date: Thu, 15 Jan 1998 15:21:54 -0600 (CST)
   From: Shriram Krishnamurthi <shriram@cs.rice.edu>
   Reply-To: shriram@cs.rice.edu

   Speaking as an outsider to the R5RS authors group, I wonder why
   publication is not being stayed awhile.

Because R5RS is already very, very late.

   I share Matthias Blume's concern that the new language does not add
   much to the clarity of the document.

It adds a lot of clarity.  The important new part, which appears
uncontroversial, is the definition of `tail call'.  The definition
of proper tail recursion isn't nearly as important.  All (most?) of
the people on this mailing list already know what is meant by proper
tail recursion.  There are books and papers that discuss it.  `The
Revised Report on SCHEME' was published twenty years ago this month.
Anyone still unclear on the concept is not going to be helped by a
few sentences in R5RS.

There was confusion as to exactly which tail calls counted.  The
new section spells this out.  Unfortunately, there is no point in
including a definition of `tail call' without including a statement
of the requirement in terms of tail calls.

   While perfection is an untenable
   goal, Clinger's work may present a very reasonable compromise.  Why
   not issue a temporary moratorium, await the acceptance of Clinger's
   paper, and base the language on Clinger's classification?

Mainly because Clinger hasn't suggested doing so, and he ought
to know.  My understanding is that his paper discusses various
possible notions of `safe-for-space', the weakest one of which
is far more restrictive than Scheme's proper-tail-recursion
requirement.  It will have to wait for R6RS.

                                -Richard Kelsey