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

tail recursion

> One group I am trying to influence is a compiler backend group that is
> doing a backend to support all languages at a very large computer company
> that has never had a common backend before. This group, which is fairly
> small, has monthly milestones laid out in front of from now until
> mid-1992. They will support every language you can think of except
> SmallTalk and PROLOG, and the machine architectures they will target are
> challenging, to say the least.

> 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.

Dick, I don't understand this, on technical grounds.  Think of all the
stuff that has to be supported in "the back end" to bring up a Scheme
implementation: garbage collection; heap-allocated activation records
(environments); call/cc (!); and so on.  If we assume that CL is to be
supported as well, then add dynamic binding to the list.  You are
describing language implementors that are ready to provide all of this
stuff, and on exotic architectures, but for whom the rewriting of
procedure calls into branches is a major obstacle.  ??