Re: Compilers for systems programming (was: A C style compiler)

sperber@informatik.uni-tuebingen.de (Michael Sperber \[Mr. Preprocessor\])
15 May 1998 22:45:07 -0400

          From comp.compilers

Related articles
Compilers for systems programming (was: A C style compiler) rideau@ens.fr (Francois-Rene Rideau) (1998-05-04)
Re: Compilers for systems programming (was: A C style compiler) dahlman@cs.colostate.edu (eric dahlman) (1998-05-07)
Re: Compilers for systems programming (was: A C style compiler) ok@atlas.otago.ac.nz (Dr Richard A. O'Keefe) (1998-05-07)
Re: Compilers for systems programming (was: A C style compiler) dwight@pentasoft.com (1998-05-12)
Re: Compilers for systems programming (was: A C style compiler) eeide@cs.utah.edu (Eric Eide) (1998-05-12)
Re: Compilers for systems programming (was: A C style compiler) will@ccs.neu.edu (William D Clinger) (1998-05-12)
Re: Compilers for systems programming (was: A C style compiler) ct7@mitre.org (W. Craig Trader) (1998-05-15)
Re: Compilers for systems programming (was: A C style compiler) sperber@informatik.uni-tuebingen.de (1998-05-15)
Re: Compilers for systems programming (was: A C style compiler) johnrn@ibm.net (1998-05-17)
Re: Compilers for systems programming (was: A C style compiler) jmccarty@sun1307.spd.dsccc.com (1998-05-27)
| List of all articles for this month |

From: sperber@informatik.uni-tuebingen.de (Michael Sperber \[Mr. Preprocessor\])
Newsgroups: comp.compilers
Date: 15 May 1998 22:45:07 -0400
Organization: Wilhelm-Schickard-Institut, Kakerlakenzuchtverein
References: 98-05-017 98-05-052 98-05-075
Keywords: Scheme

>>>>> "Will" =3D=3D William D Clinger <will@ccs.neu.edu> writes:
> For Scheme this subset might be the first order subset in which
> lambda expressions are used only for top level definitions, rest
> arguments are forbidden, and the library is restricted to operations
> that translate into a small number of machine instructions. Writing
> a garbage collector in this subset is just like writing a garbage
> collector in C. If the subset also forbids non-tail calls to
> non-primitive procedures, then it's just like writing a garbage
> collector in assembly language.


Note that this is *exactly* the way the PreScheme works. PreScheme is
the Scheme dialect that is part of Scheme 48, and used there as the
implementation language of the VM. Specifically, the GC is written in
PreScheme.


Moreover, PreScheme does aggressive inlining and thus allows for
lambdas in quite a few more places than just the top level. A more
important restriction seems to be monomorphism so that it becomes
possible to do without boxed data representations.
-- =


Cheers =3D8-} Mike
Friede, V=F6lkerverst=E4ndigung und =FCberhaupt blabla
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.