chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] node types in chicken's core language


From: Peter Bex
Subject: Re: [Chicken-hackers] node types in chicken's core language
Date: Thu, 8 Aug 2013 15:41:46 +0200
User-agent: Mutt/1.4.2.3i

On Thu, Aug 08, 2013 at 09:24:29PM +0800, Xing Su wrote:
> Hi everybody! I have a question about node types in chicken's CORE language.
> 
> I'd like to hack into chicken and now I'm reading through the source code.
> The release version I use is the latest stable release, version 4.8.0.4.

Cool!
>
> According to the compiler internal on chicken wiki 
> <http://wiki.call-cc.org/Internals>, the there are several compiler
> passes from Scheme code to native C, and after the first pass named 
> CANONICALIZATION,
> the scheme code is translated to the chicken CORE language, which is 
> actually an
> abstract-syntax-tree. I want to insert a user-defined pass here after 
> CANONICALIZATION
> and before CPS CONVERSION, so all kinds of nodes in CORE language should 
> be taken
> in to consideration.
> 
> What confused me is that, as the wiki says, there are compiler nodes 
> <http://wiki.call-cc.org/compiler-nodes> and
> compiler special forms <http://wiki.call-cc.org/compiler-special-forms> 
> and they share some type of nodes.
> After a simple test, I found that after canonicalization can produce nodes
> in both category.
> 
> I wonder that
> (1) what's the difference between these two categories?

I don't know if these are truly separate.  For example, ##core#inline
is listed on both wiki pages.  I'm not even sure these wiki pages have
been maintained along with the core (but they might).

> (2) should I deal with all node types in both categories when wring a 
> user-defined pass?

I'm CC'ing Felix, since he is not subscribed to this list.  I think he'll
be able to help you more than I can.

Cheers,
Peter
-- 
http://www.more-magic.net



reply via email to

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