Related articles |
---|
Stackless compilers? Karol.Skocik@gmail.com (neptundancer) (2008-07-01) |
Re: Stackless compilers? dido@imperium.ph (Rafael Sevilla) (2008-07-02) |
Re: Stackless compilers? torbenm@pc-003.diku.dk (2008-07-02) |
Re: Stackless compilers? blume@hana.uchicago.edu (Matthias Blume) (2008-07-03) |
From: | torbenm@pc-003.diku.dk (Torben =?iso-8859-1?Q?=C6gidius?= Mogensen) |
Newsgroups: | comp.compilers |
Date: | Wed, 02 Jul 2008 12:35:35 +0200 |
Organization: | Department of Computer Science, University of Copenhagen |
References: | 08-07-003 |
Keywords: | storage, design |
Posted-Date: | 03 Jul 2008 08:27:56 EDT |
neptundancer <Karol.Skocik@gmail.com> writes:
> Could you recommend me some papers on constructing a stackless
> compilers? I can only find lots of links about Stackless Python, but I
> am more interested in combination of PI calculus and lambda calculus.
> I know about CubeVM, but that's just pure PI calculus, and it directly
> evaluates AST. I would like to read something about compiler design
> for stackless language, but could not find anything.
It is not clear whether you want the compiler itself to not use a
stack or the generated code to not use a stack? In the latter case,
are you limited to static memory allocation or can you allocate on a
heap?
SML of New Jersey doesn't use a stack but places everything on the
heap -- closures, activation records, data structures etc. The
motivation was that by using a single shared area, you are more
flexible and that by using a good GC, heap management isn't
(considerably) more expensive than stack management. Since the
compiler is bootstrapped, both compiler and target code are stackless.
Many Scheme compilers use a similar strategy, as they have to support
call/cc, which makes simple stacks unsuitable.
Torben
Return to the
comp.compilers page.
Search the
comp.compilers archives again.