Related articles |
---|
[11 earlier articles] |
Re: C as assembly language vbdis@aol.com (2001-04-12) |
Re: C as assembly language felixundduni@freenet.de (felix) (2001-04-14) |
Re: C as assembly language fjh@cs.mu.OZ.AU (2001-04-14) |
Re: C as assembly language rhyde@transdimension.com (Randall Hyde) (2001-04-14) |
Re: C as assembly language vbdis@aol.com (2001-04-15) |
Re: C as assembly language jim.granville@designtools.co.nz (Jim Granville) (2001-04-18) |
Re: C as assembly language joachim_d@gmx.de (Joachim Durchholz) (2001-05-03) |
Re: C as assembly language joachim_d@gmx.de (Joachim Durchholz) (2001-05-07) |
Re: C as assembly language Hans_Boehm@hp.com (Hans Boehm) (2001-05-07) |
Re: C as assembly language jthorn@galileo.thp.univie.ac.at (2001-05-13) |
Re: C as assembly language david.thompson1@worldnet.att.net (David Thompson) (2001-05-15) |
Re: C as assembly language thp@cs.ucr.edu (2002-03-31) |
From: | "Joachim Durchholz" <joachim_d@gmx.de> |
Newsgroups: | comp.compilers |
Date: | 3 May 2001 13:43:35 -0400 |
Organization: | Compilers Central |
References: | 01-03-006 01-03-046 01-03-130 01-04-027 01-04-047 |
Keywords: | C |
Posted-Date: | 03 May 2001 13:43:35 EDT |
Andreas Krall <andi@complang.tuwien.ac.at> wrote:
> "Joachim Durchholz" <joachim_d@gmx.de> writes:
> > Hmm... there are a few additional cases where C is simply
> > inappropriate: ...
> >
> > Oh, and slightly off-topic, there are a few other things that annoy
> > those who want to use C as a backend for their compiler:
> > 3) It has no support for tail call recursion.
> > 4) It has no support for automatic garbage collection.
> > (The following are from http://www.cminusminus.org/faq.html:)
> > 5) It cannot return multiple values in registers
> > 6) It cannot bind global variables to registers
>
> Here you mix up the language definition of C with current
> implementions of C compilers.
This doesn't really make a difference if I select a backend.
Sure, I can restrict my language to a specific C implementation. But
that's exactly the type of restriction that will cripple a language.
> Some C compilers do not implement the above mentioned features, but
> many implement proper tail call recursion,
This does *not* help. Tail-call optimization removes a factor of N from
big-O complexities for many typical functional programs, and that's so
important that some languages even specify this optimization as
*required* for a valid implementation.
> ad 4) There is always the Boehm/Weiser GC
... which doesn't do finalization.
(Or does it?)
Regards,
Joachim
Return to the
comp.compilers page.
Search the
comp.compilers archives again.