# NAME

Data::Object::Prototype - Data::Object Prototype-based Programming

# VERSION

version 0.03

# SYNOPSIS

    use Data::Object::Prototype;

# DESCRIPTION

Data::Object::Prototype implements a thin prototype-like layer on top of the
[Data::Object](https://metacpan.org/pod/Data::Object) data-type object framework. This module allows you to develop
using a prototype-based style in Perl, giving you the ability to create,
mutate, extend, mixin, and destroy anonymous classes, ad hoc and with very
little code.

Prototype-based programming is a style of object-oriented programming in which
classes are not present, and behavior reuse (known as inheritance in class-based
languages) is performed via a process of cloning existing objects that serve as
prototypes. Due to familiarity with class-based languages such as Java, many
programmers assume that object-oriented programming is synonymous with
class-based programming.

However, class-based programming is just one kind of object-oriented programming
style, and other varieties exist such as role-oriented, aspect-oriented and
prototype-based programming. A prominent example of a prototype-based
programming language is ECMAScript (a.k.a. JavaScript or JScript). **Note: This
is an early release available for testing and feedback and as such is subject to
change.**

# AUTHOR

Al Newkirk <anewkirk@ana.io>

# COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Al Newkirk.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
