[Bioperl-l] Re: Moose [was Re:Other object oddities]
Siddhartha Basu
sidd.basu at gmail.com
Tue May 5 20:51:07 UTC 2009
On Tue, 05 May 2009, Chris Mungall wrote:
>
> On May 5, 2009, at 7:31 AM, Chris Fields wrote:
>
> > On May 5, 2009, at 7:31 AM, Hilmar Lapp wrote:
> >
> >>
> >> On May 4, 2009, at 3:01 PM, Mark A. Jensen wrote:
> >>
> >>> Maybe this should be an element of
> >>> the "Align refactor" that perhaps should be an overall
> >>> "Seq refactor".
> >>
> >> Possibly. Most importantly, it'd be great if someone would volunteer to
> >> summarize what's been said here so it won't get lost.
> >
> > Looks like mark's done it.
> >
> >>> Are you saying that the trunk is fair game for api additions
> >>> for this issue?
> >>
> >> There's been talk some (a long, actually) time ago about BioPerl 2.0 that
> >> would start on a clean slate and not be bothered by backwards
> >> compatibility demands. That effort never really took off, but maybe this
> >> is also a good time to ask the question again whether it's better to
> >> introduce the API changes we desire in add/deprecate/remove cycles, or in
> >> a more radical fashion starting on a clean slate.
> >
> > That's what I'm thinking.
> >
> >> The obvious advantage of the former is that we get API improvements
> >> sooner, but making them is possibly more dreadful, discouraging, or not
> >> even doable due to compatibility constraints. The disadvantage of the
> >> latter is that it really needs a committed crew of people to see it
> >> through or otherwise all the nice changes die in some grand but
> >> half-finished 2.0 construction site. I think Chris also had plans to
> >> branch off a Perl6 version of BioPerl - maybe those could be the same
> >> efforts?
> >
> > I have been toying around with perl6 for a bit now (Rakudo on Parrot
> > implementation). It's possible an alpha for perl6 will be available by
> > christmas this year; Rakudo is now passing over 11000 spec tests.
> >
> > Just to note, Perl6 is another beast altogether from Perl5. Yes, there is
> > supposed to be a backwards compatibility mode, but no one has implemented
> > that yet, and it likely won't be implemented in the near future. Based on
> > that I'm not sure we could really call a bioperl in perl6 bioperl 2.0,
> > more like bioperl6 1.0, as it would be a complete refactor.
> >
> > As for perl5, it has a nice OO set of modules (Moose) that could be used
> > for refactoring. It implements roles and a few other perl6-ish bits
> > (along with MooseX modules). perl 5.10 also has a few things backported
> > from p6, say(), given/when, state vars, etc. We could require
> > Modern::Perl (perl5.10 with strict/warnings pragmas on) and Moose. I have
> > played around with both and find them quite nice, so I suggest if we were
> > to start a 2.0 effort it should include Moose, and we should push most of
> > the interfaces into roles.
>
> We're playing around with a rewrite of go-perl using Moose:
> http://geneontology.svn.sourceforge.net/viewvc/geneontology/go-moose/OBO/
>
> This is early enough that parts could be scrapped or rewritten.
> Compatibility with bioperl is important.
>
> Speed was an initial concern but apparently there are some moose tricks to
> speed things up
>
> DBIx::Class compatibility is also important. Not sure if there is specific
> support for this yet
>
>
> >
> > Anyway, I grabbed the git repos for bioperl6 and biomoose (bioperl
> > implemented in Moose) on github. We can set up something there using
> > those namespaces if needed.
> >
> >> I'm not trying to advocate one over the other here; rather, I'd like to
> >> help push on that front that is best able to capture the energy of
> >> volunteers, as that's what it takes in the end.
I would definitely like to volunteer for 'biomoose' project as much as
my skills will permit. I wrote a 'homologene' parser in early Moose
days(0.3) and till then quite interested to work on a Moose based
project. Hopefully will be able to help as the project takes some shape.
Though quite early, two MooseX extension that worth looking,
MooseX::Declare
http://search.cpan.org/~flora/MooseX-Declare-0.21/lib/MooseX/Declare.pm
MooseX::MultiMethods
http://search.cpan.org/~flora/MooseX-MultiMethods-0.02/lib/MooseX/MultiMethods.pm
thanks,
-siddhartha
> >>
> >> -hilmar
> >
> > Depends on where everyone wants to place their efforts. May be less work
> > to port the most important core classes over to Moose, and a simple test
> > implementation will give us an idea on what works Role-wise and what
> > doesn't. From there we could work on p6 variants; that would have to be a
> > separate project altogether. We could also include a few other MooseX
> > modules if it makes life easier.
> >
> > chris
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at lists.open-bio.org
> > http://lists.open-bio.org/mailman/listinfo/bioperl-l
> >
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
More information about the Bioperl-l
mailing list