Allison's JournalAllison's use Perl JournalWhat's licensing got to do with it- April 25, 2006 I've spent a good part of the past week answering Pugs legal questions. Still haven't cleared up all the confusion there, but we're close. So why is this licensing stuff important Well, part of Larry's original intent with the Artistic License was to allow proprietary and free versions of Perl to peacefully coexist. It would be great if everyone would peacefully coexist without encouragement, but since this world isn't always nice, we need other tools. The Artistic License helps by limiting...http://use.perl.org/~Allison/journal/29439?from=rss On the philosophy of conditionals- April 18, 2006 Today I implemented elsif and else blocks in Punie. Fairly straightforward. One interesting tidbit: the logic for translating conditionals down to PIR is actually simpler if you reverse it. So this bit of Perl 1 code: if (1) print "is truen"; elsif (2) print "else is truen"; else print "is falsen"; translates to something like this bit of PIR code: unless 1 goto is_false if print "is truen" goto end_ifis_false: unless 2 goto else_is_false...http://use.perl.org/~Allison/journal/29358?from=rss pre-compiled rules for TGE- April 5, 2006 Today I added a tool for TGE (compilerstgetgc.pir) that outputs the compiled grammars as PIR files so they can be pre-compiled to bytecode. I also updated Punie to use it. It's a small optimization, but it doubles the speed of the Punie test suite. Before: Files=19, Tests=55, 48 wallclock secs (28.47 cusr + 5.01 csys = 33.48 CPU) After: Files=19, Tests=55, 26 wallclock secs (11.48 cusr + 4.53 csys = 16.01 CPU) I've been putting off this addition on the general principle of...http://use.perl.org/~Allison/journal/29220?from=rss |