Do you want to sponsor this event too? Get in touch!
About the #p5-mop hackathon
Stevan Little, the original author of Moose, a leading Perl5 OOP framework, has started work on a proposal for a new object system for the Perl5 core, and presenting it at various Perl conferences.
The current proposal lives at github, and the hope is to get it into the next major version of Perl5, 5.18. Previous new core features has been a mixed bag, so the plan is to make a prototype implementation on CPAN to in order to be able to test the proposal.
(in no particular order):
More tests! The more tests we have, the better the prototype will be and the better the final implementation will be. This is a task for hackers of all skill levels and a great way to get involved in the project. This can be as simple as a unit test or as complex as porting your favorite CPAN module.
Roles. There exists a branch which has the latest implementation of roles, but it is not complete. The exact details of how roles fit into the overall MOP is still a subject of discussion and all ideas and opinions are welcome.
Proposal POD docs. The proposal needs to be brought back in line with the current state of the prototype, as well as capturing new information from discussions had in a number of github issues.
Integration with Perl core. The ultimate goal is for this to become part of the perl core, however the exact details of this are still undetermined and need more discussion. This is not only a task for core hackers, but also for users of the MOP as decisions made here can affect the outward semantics. Spirited discussions will be had!
Integration with Perl 6. The promise of Ponie was to bridge the gap between Perl 5 and Perl 6, but alas the project has been "put out to pasture". While not a specific part of the proposal, the p5-mop project may be an opportunity to explore this idea again.
To our prospective sponsors
If you are reading this, hopefully your company has some interest in the future of Perl. As you may know the current incarnation of Perl, Perl5, has existed for a very long time, has a mature and stable development cycle and is business critical to many of us.
In one aspect some have found Perl lacking, namely the built in object system. As a solution to this, most of the Perl community has now adopted Moose, a wonderful object system implementation with a feature set that puts Perl in the top tier of modern programming languages.
Having this system outside of the core has some disadvantages, like complicating deployment and increasing runtime startup time. To combat this the original developer of Moose has put together a proposal for a p5-MOP implementation in the perl core itself.
The Meta Object Protocol is the technology that powers the Moose object system. Mostly it was borrowed from CLOS (the MOP for LISP) and Smalltalk (among others). As part of this, we plan to introduce native keywords like 'class', 'has' and 'method'.
The plan is first to implement the specification as a CPAN module, to make sure the interface is optimal before it goes into the core. Helping with this work and building things on top of the prototype to test it, is the main goal of the Hackathon.
The current goal is to get this into Perl 5.18 the next major version of Perl5. To help this effort, Oslo.pm is planning a hackathon in Norway, with the key people needed to get this system implemented. To make it a spectacular event, we are planning to hold it near Prekestolen in Stavanger, just after the YAPC Europe conference. We are hoping that your company has an interest in sponsoring this event.
Luckily there's a direct flight from Frankfurt, which is this year's YAPC::EU host, to Stavanger. However we still need some funds to cover transport costs, lodgings and food for the contributors to this event.
Are you interested in helping out? Please get in touch with us at <moosehackathon at perlworkshop.no>
- the organizers
About the #perlrdf Moose hackathon
The Semantic Web and Perl community has since a hackathon in London in 2011 discussed migrating the core infrastructure to Moose. This work goes along two main axes:
- Re-architecting the main low-level API RDF::Trine (by kasei) and the main query infrastructure RDF::Query (by kasei) around Moose. This will impact the whole Perl+RDF ecosystem as these are dependencies for all the other modules.
- Attempt to bridge RDF semantics with Moose/MOP. There are already two attempts to do this: Class::OWL (by perigrin) and MooseX::Semantics (by kba). Doing this opens new possibilities including dynamic creation of classes based on incoming RDF data and associated ontologies. This has been a topic of discussion for some time, and the community has a list of topics for exploration.
The big picture
As part of the Moving to Moose hackathon, Oslo.pm is also inviting other CPAN projects considering converting their code to Moose. First among those, we're inviting the Perl RDF project, whose focus is to bring Semantic Web tools to users of the Perl language.
The Semantic Web has a large commercial potential: A recent survey by Yahoo showed that 25% of all web pages contained structured data in the form of RDFa.
The community already has tools to exploit this information, but we lack highly efficient tools, both in terms of developer efficiency and software performance. The goal of Moving to Moose hackathon is to address both these problems. This is done by allowing developers to build applications on the top of Moose, which has already proven itself to enhance developer efficiency on onehand, and on the other, rearchitecting the low-level modules will allow us tighter integration with existing high-performance tools to better exploit their strengths.
Up until now, Semantic Web has been dominated by Java tools, but this effort the Perl community now gains the impetus to create a toolchain that may both challenge and surpasse this dominance in many areas. We therefore believe the potential gain for both the Perl and Semantic Web communities to be great.
- the organizers