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
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.