Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Moving to Moose 2012 hackathon status

Moving to Moose hackathon 2012

Oslo Perl Mongers would like to invite to a Moving to Moose double-hackathon near Stavanger, Norway! We're planning four full days of hacking, discussion and fun at the Preikestolen Fjellstue conference hotel. And if the weather allows it, we'll do a 5+5km hike to Preikestolen and back!

The hackathon topic is two-fold: Getting a proper Meta Object Protocol into Perl5 core, and moving CPAN modules to Moose. We're specifically inviting two communities - the #p5-mop and #perlrdf crowds.

With that said, the hackathon is also open for others! We intend on allowing commercial attendees too, and hope the high-bandwith discussions, hacking and networking will function as a great door-opener for anyone who wants to become part of the Perl community.

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:

  1. 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.

  2. 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 #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.

#p5-mop hackathon goals

(in no particular order):

  1. 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.

  2. 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.

  3. 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.

  4. 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!

  5. 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.

Suggested reading list

Dates and details

  • 2012-08-25 - Travel to & check-in at Preikestolen mountain lodge
  • 2012-08-26 - Moving to Moose hackathon
  • 2012-08-27 - Moving to Moose hackathon
  • 2012-08-28 - Moving to Moose hackathon
  • 2012-08-29 - Moving to Moose hackathon
  • 2012-08-30 - Check-out & travel home

Related events

  • 2012-08-20 - YAPC::EU::2012, Frankfurt

  • 2012-08-21 - YAPC::EU::2012, Frankfurt

  • 2012-08-22 - YAPC::EU::2012, Frankfurt

  • 2012-08-23 - "Waiting for the Hackathon" hackathon?

  • 2012-08-24 - "Waiting for the Hackathon" hackathon?

Signing up

We're working out the details about the event, and will post instructions on how to join/attend the hackathon. In the meantime, put the dates into your calendar and start looking forward to the fun! :)


We'll have three levels of signup fees.

  • Invited - aimed at invited core group members.
  • Commercial sponsor-level training fee - for employees and their companies who want to support the event, but only have access to training budgets (details will be announced primo May).
  • Community members - for anyone who wishes to pay for themselves but can't cover the commercial training fee.

Note, we have a very limited amount of hotel rooms reserved for the hackathon, so while it's possible to organize your own stay there, we recommend you instead sign up through us (when registration opens).

The location

Preikestolen Fjellstue, Stavanger, Norway.

Travel preparations

  • Book a flight to Stavanger airport Sola (SVG), with arrival no later than 14:00 Saturday August 25th.
  • Book a return flight from Stavanger (SVG), with departure after 1500 Thursday August 30th.

Arrival (Saturday August 25th)

On arrival at Stavanger Airport, take the airport bus ("Flybussen") to the city centre terminal "Fiskepiren". The bus leaves the airport 1545, with arrival at Fiskepiren approximately half an hour later. Buy a return ticket (NOK 150,- instead of a single ticket at NOK 100,-) from the driver. Payment by cash (NOK), Visa or MasterCard.

The assembly point is FIXME near "Fiskepiren". We leave on a ferry (to Tau) at 1700 o'clock, transfer to bus 40 minutes later, and arrive at Preikestolen Fjellstue 1805. We check in, and dinner is served shortly afterwards.

(It is possible to take an earlier boat, but you will have to buy your own return ticket to Preikestolen (NOK 240,-) in that case.)

Map to Fiskepiren


Departure (Thursday August 30th)

We leave Preikestolen Fjellstue after breakfast, with the following available bus departures (depending on your flight):

  • Preikestolen Fjellstue 0915 1045 1215
  • Arrival Fiskepiren 1020 1150 1320
  • Dep. Fiskepiren 1030 1200 1330
  • Arrival airport 1100 1230 1400

You should be at the airport at least one hour before departure.

Rental car/bus

7-seters Volkswagen Touran 25.08 kl 0930 - 30.8 kl 1930: kr 8240,- (


Optional stuff :)


  • Oslo Perl Mongers
  • Renée Bäcker
  • (NUUG Foundation)

If you'd like to support the hackathon, please get in touch with the organizing committee at moosehackathon at


This hackathon is organized by Oslo Perl Mongers. The most active contributers (and their IRC nicks) are:

  • Kjetil Kjernsmo (KjetilK)
  • Arne Sommer
  • Eystein Grusd (egon)
  • Salve J. Nilsen (sjn)

And some support from Marcus Ramberg (marcus).

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, 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

As part of the Moving to Moose hackathon, 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.