Skip to content
This repository

This branch is 0 commits ahead and 68 commits behind master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 bench
Octocat-spinner-32 extras Merge branch 'master' into roles-redux March 10, 2012
Octocat-spinner-32 lib
Octocat-spinner-32 t
Octocat-spinner-32 xt moving things around December 26, 2011
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Makefile.PL moving things around December 26, 2011
Octocat-spinner-32 mop.xs

A MOP for Perl 5

NOTE: This is still VERY much a work in progress

This repository contains an ever evolving proposal and a functioning prototype for a Meta Object Protocol, or MOP, to be perhaps included in a future version of Perl 5.

The core goal is to provide a simple, lightweight and highly Perl-ish MOP that will provide the same degree of flexibility and TIMTOWTDI of the original Perl 5 object model, but with more a formalized class model.

This proposal will be developed in the open and comments are welcome.

Prototype notes ...

This is a prototype of the proposed MOP for Perl 5. The main purpose of this prototypes is to work out a few of key things; the syntax/semantics of the object system, the underlying MOP API and the extensibility of the MOP itself.

Ideally this will also provide the starts of a test suite that can be ported to the final implementation.

This prototype, for the most part, accurately reflects the proposed syntax/semanitics of the object system, however the implementation is another story. Basically, any implementation found in these folders should NEVER be considered a proposal for a specific implementation technique. In fact, much of what you might find in here will likely use scary and tricky techniques to accomplish desired behaviors, and it would be expected that a real implementation would NOT use such scary and tricky techniques.

Something went wrong with that request. Please try again.