Allison:
- Punie now compiles and executes statements
- print a single digit, multiple digits, or a string with word characters
- no space characters
Jesse:
- that's certainly a start
Allison:
- I want to use Patrick's Text::Balanced hack
- oh, it also parses multiple statements
Jesse:
- that's a good way of keeping your code concise
- is Roberta still gone?
Allison:
- she'll be back December 14th
Luke:
- I'm doing finals
- they're final projects
- thinking about the type system stuff in my free time
- also talked to Autrijus about it
- he convinced me that leaving out a type system is a bad idea for
interoperability
- he said some extremely large undecidable calculus
- trying to come up with a good type system as dynamic at Perl 5's at
runtime, but at compile time
Jesse:
- doesn't sound like much
Luke:
- fairly well-researched except not at all
Larry:
- only worth two or three PhDs
Jesse:
- when do you start to free up again?
Luke:
- my last final is on Monday
- I'll probably start madly hacking, as long as I have something to
procrastinate
Larry:
- merrily hacking away on the Perl 5 to Perl 5 translator
- translates 73% of the test suite successfully
- successfully collecting all the type information that the compiler loses
- starting to think about how I'll use that information
- also for translating to Perl 6
- that's still in thought status
- I'm past the hump on the thing
- I guess there are two though
- getting the first 5% of the tests to pass was really hard
- probably the last 5% will be really hard too
- then I can think about downloading and translating all of CPAN back to
itself
- the tricky thing is I'm not sure what to do about BEGIN blocks that
skip tests
- don't bother compiling the rest
- maybe I need a shim that says "this BEGIN block said to exit, but don't"
- usually a runtime reason, not a compile-time reason
- I'm only interested to running until CHECK time basically
- also worth two or three PhDs
Jesse:
- then do you plan to spit out an arbitrary AST or go straight to Perl 6?
Larry:
- I want to be able to spit out the AST, just for Perl 5
- somewhere in there
- when I have that done
- we can open it up
- pulling the information out of Perl 5 is the insane part of it
- having the AST out in some form cleanly is a point at which we can open
up the project to multiple contributors
Jesse:
- I can see some of the crazy Pugs kids compiling straight to JavaScript
Luke:
- to PIL first
- then we get JavaScript automatically!
c:
- also Perl 5! yay!
Jesse:
- when did you pull from blead?
- not sure how painful the merge back will be
Larry:
- I'm at 5.9.2 at the moment
- it ought to be mergeable
- this hairy dance back and forth between the program which does the
final translation and the internal code which spits out the initial XML
- my basic philosophy is to make minimal changes to the Perl core
- to what extent you just mark up the things as they're going out and
messing up the tree versus intuiting what should have been there...
- only time will tell whether I made the right decisions
- I figured that you can drive it one way or another
- one way and you break the semantics of existing code too much
- "Just don't do constant folding" breaks plenty of things, such as
interpolated constant subroutines
- too much guessing after the fact means I may not have guessed correctly
- there are intermediate forms in there too
- go ahead and keep the same structure
- then annotate it with just a little extra type information for the
backend
- I've been doing that compromise more and more
- seems to work out pretty well
- the ordinary regression tests have two or three failures that need
fixing before the merge
- I don't test that part of it as often as I test the translator
Jesse:
- I bet we can find some help to deal with that
c:
- checked in Test::More in PIR
- talked to Jerry Gay and it looks like we have an easy way to add PIR
tests to the Perl testing harness
- I'll check in some of my library tests and see how that works
- should let us rely on those a little bit more