[code-review] Object::Meta::Plugin

Yuval Kogman <nothingmuch-JLKJG/[email protected]> Mon, 1 Dec 2003 22:14:50 +0200
Newsgroups gmane.comp.lang.perl.code-review-ladder
Message-ID <[email protected]>
--xXmbgvnjoT4axfJE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello...

A friend of mine told me about this list just minutes after I uploaded
to pause, so forgive the horrid timing... Nevertheless, there will
always be another version.

Object::Meta::Plugin is a classless object implementation, that aims
at having a model of plugins instead of classes or object
classes. Various objects export capabilities to any number of host
objects, and these hosts are then the sum of their members. Morever,
each method has it's own stack of plugins who export it. This stack
can be manipulated to allow less linear inheritance, which is actually
the reason I decided to reinvent the wheel..

I've got one design problem, and one technical one. The technical one
is that i've not yet weakened the refs that should be weakened.

The design problem is that currently all the data the plugin should
have access to can be accessed via $_[0]->self(). This is bad, for
obvious reasons. My solution is documented on the task to solve it:
http://sourceforge.net/pm/task.php?func=3Ddetailtask&project_task_id=3D8972=
9&group_id=3D92673&group_project_id=3D33094

The project it was developed under can be accessed here:

http://sourceforge.net/projects/frytunes

and therein are instructions for getting the cvs version. This version
is (at the time of writing) not very different from the release - some
documentation fixes, is all.

I won't explain further here, as I think it's a tad excessive, and
i've put my best efforts into documenting the module.

Thanks in advance!

--=20
 ()  Yuval Kogman <nothingmuch-JLKJG/[email protected]> 0xEBD27418  perl hacker &
 /\  kung foo master: *shu*rik*en*sh*u*rik*en*s*hur*i*ke*n*: neeyah!!!!


--xXmbgvnjoT4axfJE
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (Darwin)

iD8DBQE/y6E6VCwRwOvSdBgRAi1oAJ0QHUngbO8p5uai9IW6lkpW1+AC5ACggMZ9
oVUvSyN/35arBbEX54fyeyE=
=J63W
-----END PGP SIGNATURE-----

--xXmbgvnjoT4axfJE--