Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Journal of luqui (5770)

Wednesday January 11, 2006
08:35 PM

Last Week's Perl 6 Meeting Notes

[ #28318 ]

(Sorry, forgot to post these last week)

        - until last Wednesday, I worked on PGE in Perl 6
        - then I worked on something completely unrelated
        - PGE in Perl 6 now, barring the operator precedence parser, does
            everything that the Parrot one does
        - except for parsing rules
        - but Audrey is doing that

        - does it produce match objects like PGE does?

        - yes
        - last week I thought about things
        - XQuery, tree matching
        - pondering a data comprehension module for Perl 5
        - whatever can make processing big, complex data structures quick and easy
        - working with Audrey on context and coercion
        - we have some disagreements about how that works
        - mostly we're on the same page
        - wrote a document describing pure MMD scheme
        - including return type dispatch
        - related to context
        - those are in the Pugs repository
        - I'll hack on them and then pass them along

        - did about 18 refactorings of the Perl 5 to Perl 5 translator
        - ends up with a more adequately typed AST

        - typed how?

        - I'm not quite sure what I mean either
        - a lot of the stuff internally to Perl is implicit
        - there's no name for a particular node in the tree
        - they happen accidentally
        - we rearrange kids somehow and change a few flags and it applies
        - trying to name everything, or at least get close
        - they're types in that sense
        - it's not yet well-typed in the sense that I've looked at those names
            and tried to figure out what's common between them
        - it's nothing like PIL
        - it's just trying to give a name to everything so we can have a hope at
            translating at some point
        - basically there are more node types currently than there are operator
            ppcodes in Perl 5
        - there's now a Statement, which doesn't really exist
        - there's an opcode for transitioning into a statement in Perl 5
        - but nothing really contains a statement
        - that's a lot of the refactoring work
        - make a more ordered tree
        - now, of all the tests in the core modules, it translates more than 99.5%
        - I haven't tried CPAN; I'd have to download it
        - I also haven't bothered to try to hook this up to bleadperl
        - I can probably delegate that eventually
        - most of these refactorings come about due to thinking about what I need
            to translate to Perl 6
        - making sure that the information is there
        - haven't actually tried to translate anything yet
        - eventually I'll get up the courage to translate $foo[] to @foo[] and go
            from there
        - otherwise, thinking about what people say on the mailing lists
        - admittedly not being very responsive to that

        - planning to take time off around Christmas to do development
        - but I had my wisdom teeth out
        - started working on expanding the Punie grammar again
        - made it into sexpr part of the original perly.y
        - ran into the traditional left recursion problem
        - decided to use PGE's operator precedence parser instead

        - with regard to left recursion, there's a simple transform you can do
            with closures to turn right-recursion data structures into ones that
            look like left recursion

        - rather than doing left recursion, I flipped around
        - broke it into two pieces
        - the first element, and the rest of the expression

        - x [\+ x]* ?

        - expression matches
        - expression = expression
        - expression = expression + expression
        - instead, say expression = term + rexpression

        - that's my biggest complaint about Parse::RecDescent
        - it has a nice leftop which does that
        - but then you get back a flat structure of all the matches you want
        - I want a left recursive structure
        - it's easier to parse things that look left-recursive
        - you only have to handle two arguments, not N
        - left-recursion transform might be nice in grammars, if it's generic...

        - for now, all I need in Perl 1 is operator precedence
        - looks pretty cool so far
        - I'll try to finish it off by the end of the day
        - it'd be nice to have comments in the syntax of the independent grammar,

        - my friend the crazy C++ programmer is trying to learn a new language
        - I invited him to learn Perl 6
        - I'm going to try to teach him Perl 6 without any past knowledge of
            dynamic languages

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.