cjfields / bioperl6

reimplementation of BioPerl classes in Raku (e.g. the language formerly known as Perl6)
http://bioperl.org
Artistic License 2.0
48 stars 13 forks source link
bio bioinformatics bioperl perl6 raku rakudo

Build Status

BioPerl 6

The experimental classes in this directory are test implementations for Perl 6. Most of these are similar to perl5-based BioPerl with simple Perl 6 translations. We intend on porting functionality when needed, but also addressing many of the problems faced with the perl5 BioPerl version, namely class/interface structure, overly complex class hierarchy, etc.

So, keep in mind that nothing is set in stone yet and things may change under your feet. Hic sunt dracones.

Also, just a note: this repository may eventually be moved under the BioPerl umbrella. If so, I'll leave stub repo here pointing to the correct location.

Participation

If you have an itch to scratch and want to try it out, fork the code and hack away. Even better, I can add you as a developer! Drop me a note, I'm more than happy to have help. The more the better!

Targeting

Currently, I target Rakudo Perl 6 (specifically using the MoarVM backend) off the nom branch. We may switch at some point to a targeted Rakudo Star version for more stability, but since the latest branch code has seen dramatic improvements (as of Aug. 2014) we aim to stay consistent with that.

Note, as of Dec. 25, 2015, Rakudo is now targeting the newly-released Perl 6 official specification (6.c), therefore syntax is expected to have stabilized and focus will be fixing bugs, improving performance, and working out corners of the specification that need further clarification.

Implemented

Testing

Basically, one can do this:

prove -e 'perl6' -r t

which will run all tests. This will certainly fail at this stage! Most current tests are ports from the original BioPerl distribution, and the current code is in various stages of updating. We anticipate this changing more over the next year.

To run a single test:

prove -e 'perl6' t/Root.t

Notes

Perl 6 is a specification and thus can represent multiple implementations. More in the Perl 6 synopses.

Related