Day 132: Fifth day at Leo's - Mandel runs again!

autrijus on 2005-06-15T22:40:24

Lots of good things result from having a real compile phase. For example:

$ ./pugs -CPIR -e '1 = 2'
pugs: Invalid LValue: Val (VInt 1)

It also opens up possibility for whole-program analysis and other nifty things. Currently there is only a parse phase and a eval phase, so whatever nonlocal, nonBEGIN knowledge is forever gone, with no possibility of warnings/strictitude, and most errors delayed until runtime. A compile phase fixes all these problems.

I've also started thinking about retargetting the PAST -- that is the "essence" of Perl 6 evaluation -- to Javascript or Perl 5. We'll see if it actually comes to pass. :-)

Also I implemented the strategy for piecemeal migration from the current Pugs.Compile.* and Pugs.Eval -- that means anything not handled by the current compiler can simply be delegated to the old runloop. Because of this, mandel.p6 now runs again on the PIR backend, with no noticeable speed differences.

There is a lot of more exciting things going on, but I need to sleep and can't journal up anymore. Sorry. :)


Move in??

jcavanaugh on 2005-06-16T07:34:25

Would it be possible to just have you & Chip move in?? Im thinking along the lines of locking you guys together in a house with pizza & soda until parrot/perl6 is done?

Seriously though you guys sound like you are making amazing progress.

Im not sure if everyone realizes this, but I really believe that Parrot is one of the most(if not *the* most) important open source project going right now. The unification of a virtual machine for all the dynamic languages will be huge in terms of getting larger adoption for open source technologies.

--
John Cavanaugh