mail didn't go through to slate list

Brian T. Rice water at tunes.org
Wed Aug 16 09:46:39 PDT 2006


On Tue, August 15, 2006 10:45 pm, Timmy Douglas said:
> Hey, I sent the following to the slate discussion list but I never saw
> it show up.... I'm not sure what happened... tried sending it twice...
> You're probably the only one who might be able to answer it.

I saw both copies show up.

> I'm not sure who can answer this question, but maybe someone who knows
> something about compilers might be able to give me a hint. I decided
> to take a look at mobius/optimizer/* again, and I've gotten stuck,
> pretty quickly.
>
> Basically, I've been trying to run code like this (I got x+1 to work
> instead of x itself... recorded two lines to my darcs):
>
> [ | ir mr |
>  ir: (Optimizer IR Generator new).
>  ir generate:  ([ | :x |  x + 1] `quote).
>  mr: (Optimizer MR Generator newArchitecture: ir module).
>  lobby inform: ir module printString.
>  mr generate: ir module.
>  mr generate: (ir module closures at: 0). " <- problem here"
>
> ] do.
>
>
> I marked the problem above. In that generate function, the mr
> generator tries to find the closure in the list of it's registered
> functions (which are registered? when I generate the ir module). The
> problem is that the MR stage only holds functions but the IR stage (as
> it is written) holds both functions and closures separately (so
> closures aren't passed in between stages). I would like to have the
> "mr generate: ir module." line do all the required preparation before
> the IR->MR generation (but I don't really know what is going on here
> or if that is what should be done...). The thing is, I'm not sure what
> I should do with all the closures... or how they're supposed to be
> moved from the IR generator to the MR one?

I don't know the answer for sure, but my best guess is that the
lambda-lifter aka closure-lifter should work between the IR and MR to
flatten the control-flow structure.

> help? why am I working on this crap?

Because the author (Lee) abandoned his code.

I'm sorry that Slate development is so frustrating. I feel pretty helpless
to do much about it, honestly.

-- 
http://tunes.org/~water/brice.vcf



More information about the Slate mailing list