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

tail recursion



   Date: 24 Apr 90  1832 PDT
   From: Dick Gabriel <RPG@sail.stanford.edu>

   I guess I'm one of the rare people who wants to remove a requirement for
   tail call removal. I also favor removing a requirement on a garbage
   collector.

   [...]

   Let me repeat my reason: I feel it is vitally important to get Scheme into
   the mainstream, and it is better to place as few limitations on that
   process as possible, at least for now. Tail call removal is possibly a
   large barrier to certain compiler groups who would otherwise support
   Scheme completely.  At least at present.

I don't understand this at all.  What use is it to anyone -- us, or anyone else
-- if these mainstream compiler groups implement Schemes that work only on toy
problems?

   Maybe the people on this list would not want to use that Scheme, but do
   those people insist on the right to prevent people from calling that
   implementation Scheme? And is that principle worth giving up inroads to
   the mainstream?

Do we really do ourselves any favors by telling people, "If you implement this
spec, it will be Scheme", and having them go away and in good faith attempt to
meet the spec, only to show it to us and be told it's useless?  That doesn't
sound like a way to make friends in the mainstream community.  Far better that
we should drive home to them, as soon as possible (because it's easier for them
to change their designs now than later!), that we absolutely must have tail
call optimization and garbage collection.

I applaud you, Dick, for spearheading the effort to make this point to the
mainstream compiler people.  I don't see that we have anything whatever to gain
by backing off on that project!  In fact, if you will send me names and
addresses of people to write to, I will be happy to add my voice to yours.  I
don't know if that will do any good; I'm not so public a figure even in the
Lisp community as you are; but I'm happy to try, and I'd much rather do that
than send exactly the wrong message by weakening the Scheme spec.  I hope
others will volunteer too (GLS? are you listening?).

-- Scott