On 7/26/05, Allison Randal <[EMAIL PROTECTED]> wrote:
> I'm looking for descriptions of the kinds of nodes in PIL. Below is
> what I gathered from digging through the source code (Compile.hs and
> Compile/PIR.hs). Could one of the lamdas correct the places where I'm
> misinterpreting the code and fill in what's missing?

I was planning on making a list of these recently, but I was too
busy/lazy to actually get around to asking Autrijus.  I would also be
interested in getting proper descriptions (and putting them in the
documentation), but for now, here are some of my own notes:

> --------
>      PNil      A null value?
PNil seems to be a list-terminator for PStmts lists (Lisp-style).

>      PThunk    An intermediate node? No semantic value?
I believe this is used for computations that need to be performed
lazily, such as the consequent of a conditional (if, unless) or the
arguments to a lazy logical operator (||, && and friends).

>      PPos      ?
This surrounds other PIL nodes with a 'position' wrapper, telling us
the name of the source file (as well as line and column numbers) for
the code that produced the nodes.


Of course, these are all based on my own reading of the code -- I
never did check whether they were correct, so don't take them as
gospel!


Stuart

Reply via email to