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

No Subject

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

JFB> As is the case with the MIPS intermediate language system, the Titan does
JFB> not support tail call. 

This is precisely the problem.  Changing Scheme because of implementors
not supporting tail calls properly is a first class example (sorry) of
the tail wagging the dog.  Tail recursion optimization is a general win
[I have even seen it done in FORTRAN].  I think that it is very
important that compiler implementors be aware of more implementation
techniques than needed for Edison or PCC.

I use Scheme in small (i.e. embedded) systems with real memory.  I depend
on tail call optimization.  In order to get Scheme into mainstream *usage*,
efficient, high-quality implementations are needed.  Bumming the
implementation to make it easy for compiler writers to remain provincial
will not do this.

[Joel, I have used Scheme->C for some X11 stuff.  It is a great system.
I don't mind you calling it Scheme with some restrictions.  But as a
Scheme user, I *depend* on tail calls].

-Ken Dickey