A new object system for Perl
I just released Dot, it's a new object system for Perl, some of its highlight and difference:
- There's no code for this object system, you don't even have to install the module to use it.
- An object is a hash, a method is a closure, and a class is a subroutine.
- True private variable, not by pretending.
- Multiple inheritance without the diamond problem.
- Method dispatching takes zero time, in fact it is not needed at all.
- The built-in mechanism of Perl 5 OO is completely bypassed.
- If you want a bird you could inherit from a jungle and remove everything else so that it's the only thing left.
- You don't need a package to change the inheritance of an object, you only need a single statement.
- Inheritance of a class could be chosen at runtime, the inheritance of the objects of the same class could thus be different.
- Easy creation of metaclass, metametaclass, etc.