Alter

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

    are "STORABLE_freeze", "STORABLE_thaw" and "STORABLE_attach" as well as
    "Dumper". ":all" imports all these functions.

  Environment
    The environment variable "PERL_ALTER_NO_XS" is inspected once at load
    time to decide whether to load the XS version of "Alter" or the pure
    Perl fallback. At run time it has no effect.

  Description
    The "Alter" module is meant to facilitate the creation of classes that
    support *black-box inheritance*, which is to say that an "Alter" based
    class can be a parent class for *any other* class, whether itself
    "Alter" based or not. Inside-out classes also have that property.
    "Alter" is thus an alternative to the *inside-out* technique of class
    construction. In some respects, "Alter" objects are easier to handle.

    Alter objects support the same data model as traditional Perl objects.
    To each class, an Alter object presents an arbitrary reference, the
    object's *alter ego*. The type of reference and how it is used are the
    entirely the class's business. In particular, the common practice of
    using a hash whose keys represent object fields still applies, only each

lib/Alter.pm  view on Meta::CPAN


=head2 Environment

The environment variable C<PERL_ALTER_NO_XS> is inspected once at
load time to decide whether to load the XS version of C<Alter> or
the pure Perl fallback.  At run time it has no effect.

=head2 Description

The C<Alter> module is meant to facilitate the creation of classes
that support I<black-box inheritance>, which is to say that an
C<Alter> based class can be a parent class for I<any other> class,
whether itself C<Alter> based or not.  Inside-out classes also have
that property.  C<Alter> is thus an alternative to the I<inside-out>
technique of class construction.  In some respects, C<Alter> objects
are easier to handle.

Alter objects support the same data model as traditional Perl
objects.  To each class, an Alter object presents an arbitrary
reference, the object's I<alter ego>. The type of reference and
how it is used are the entirely the class's business.  In particular,



( run in 1.328 second using v1.01-cache-2.11-cpan-483215c6ad5 )