guile-devel
[Top][All Lists]
Advanced

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

Re: CPS and RTL


From: Andy Wingo
Subject: Re: CPS and RTL
Date: Thu, 24 Jan 2013 09:30:19 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux)

Hi Noah,

On Sat 17 Nov 2012 16:35, Noah Lavine <address@hidden> writes:

> I've had several conversations on this list about using
> continuation-passing style in Guile. I recently decided to take the hint
> and implement it. I've pushed a new branch called wip-rtl-cps that I'd
> appreciate comments on (but I do not necessarily think that this is the
> branch that will be merged with master - it's still pretty rough).

I really like it.  It's clean and expressive.  Of course it needs a lot
of work as well :)  But I think it's a good enough start that we should
just merge it to wip-rtl and see where it goes from there.

Some thoughts off the top of my head:

  * It would be good to organize the compiler as a set of passes.  For
    example, closure conversion, assignment conversion, CSE, and
    register allocation should all be separate passes (perhaps in that
    order).  Of course porting the CSE pass would be quite a bit of
    work...  And actually, partial evaluation could work on the CPS form
    as well (but would be the first pass).  Things for the future.

  * We should still compile Scheme to tree-il I think; it's convenient,
    and other languages may well prefer a more direct-style IL as a
    target.

  * We really need the tree-il -> CPS compiler now.

Of course there's more!  But as a start, this this good.

What do you think?

Cheers, and thanks!

Andy
-- 
http://wingolog.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]