Cool! However, I wonder if Punie is indeed targetting Perl 1.
As Schwern will attest, Perl 1 is a quite complicated language, with
nullary, unary, binary and ternary functions, arrays, hashes, pattern
matches, transliteration, format, loop control and labels.
Is it Punie's goal to support all of those semantic constructs? If not,
maybe call it something else than Perl 1, to avoid confusion? :)
Thanks,
/Autrijus/
(more bikesheding)
If the goal is to demonstrate the capability of the upcoming expression
parser and minimal AST, I think "bc", the arbitrary precision calculator
language, is a good candidate.
Thanks,
/Autrijus/
As a test case for the Parrot compiler tools, those are certainly
useful features to implement. We'll have to deal with them in more
"serious" languages anyway. But, we'll see. I'm not promising it'll be
an exact match to Perl 1 semantics, but I'd like to push it as close to
supporting the full Perl 1 test suite as possible.
> Is it Punie's goal to support all of those semantic constructs? If
> not,
> maybe call it something else than Perl 1, to avoid confusion? :)
How about Punie? :)
Allison
That's cool. In that case I'll commit the test suite from perl-1.0_16
as TODO tests to the Punie tree, if that's okay with you. :)
Thanks,
/Autrijus/
Most welcome. I'm following a naming convention in the t/ directory of
changing the original "io.print"-style file names to "io_print.t", to
make it easier to see the correspondence between the Perl 1 and Punie
tests.
Of course, the ultimate test will eventually be running the Perl 1 test
suite as-is, without pre-digesting it into Parrot::Test calls. :)
Allison
Done as such. I have committed the five sanity tests in Perl 1.0.16's
distribution, similar to the intent of geoffb's Pugs's t/01-sanity/* that
helped Perl6->PIL->PIR compilation effort.
> Of course, the ultimate test will eventually be running the Perl 1 test
> suite as-is, without pre-digesting it into Parrot::Test calls. :)
Actually, if Punie can pass the five sanity tests, it would be strong
enough to run the tests as-is, since all they do is print strings with
conditional constructs. I look forward to that day -- a TODO or
ROADMAP in languages/punie/ will help, too. :-)
Thanks,
/Autrijus/