Skip to content
Browse files

Released version 0.21

  • Loading branch information...
1 parent 35fa481 commit 5c2b2e9106a1605a978186ea5e000f8a4e81f07a @ingydotnet committed Sep 12, 2011
Showing with 12 additions and 9 deletions.
  1. +1 −1 Changes
  2. +2 −2 lib/Mo.pm
  3. +9 −6 lib/Mo/Design.pod
View
2 Changes
@@ -1,6 +1,6 @@
---
version: 0.21
-date:
+date: Mon Sep 12 11:16:31 CEST 2011
changes:
- Add Mo::Design pod
- Remove multiple inheritance
View
4 lib/Mo.pm
@@ -1,2 +1,2 @@
-package Mo;require strict;require warnings;$Mo::VERSION='0.21';
-sub import{strict->import;warnings->import;my$p=caller;@{$p.'::ISA'}=$_[0];*{$p.'::extends'}=sub{@{(caller).'::ISA'}=$_[0];eval"require($_)"for@_};*{$p.'::has'}=sub{my($n,%a)=@_;my($d,$b)=@a{qw(default builder)};*{(caller)."::$n"}=$d?sub{$#_?($_[0]{$n}=$_[1]):(exists$_[0]{$n})?$_[0]{$n}:($_[0]{$n}=$d->($_[0]))}:$b?sub{$#_?($_[0]{$n}=$_[1]):(exists$_[0]{$n})?$_[0]{$n}:($_[0]{$n}=$_[0]->$b)}:sub{$#_?$_[0]{$n}=$_[1]:$_[0]{$n}}}}sub new{my$c=shift;my$s=bless{@_},$c;my@c=$c;unshift@c,$c while$c=${$c."::ISA"}[0];do{&{$_."::BUILD"}($s)if defined&{$_."::BUILD"}}for@c;$s}
+package Mo;$Mo::VERSION='0.21';
+require strict;require warnings;sub import{strict->import;warnings->import;my$p=caller;@{$p.'::ISA'}=$_[0];*{$p.'::extends'}=sub{@{(caller).'::ISA'}=$_[0];eval"require($_[0])"};*{$p.'::has'}=sub{my($n,%a)=@_;my($d,$b)=@a{qw(default builder)};*{(caller)."::$n"}=$d?sub{$#_?($_[0]{$n}=$_[1]):(exists$_[0]{$n})?$_[0]{$n}:($_[0]{$n}=$d->($_[0]))}:$b?sub{$#_?($_[0]{$n}=$_[1]):(exists$_[0]{$n})?$_[0]{$n}:($_[0]{$n}=$_[0]->$b)}:sub{$#_?$_[0]{$n}=$_[1]:$_[0]{$n}}}}sub new{my$c=shift;my$s=bless{@_},$c;my@c=$c;unshift@c,$c while$c=${$c."::ISA"}[0];do{&{$_."::BUILD"}($s)if defined&{$_."::BUILD"}}for@c;$s}
View
15 lib/Mo/Design.pod
@@ -146,12 +146,15 @@ Mo.pm is currently golfed, compressed and unreadable by mere mortals. It has
no comments or pod. The documentation is in Mo.pod and the comments are all in
here. This makes Mo.pm a little black box of code that you can use anywhere.
-When we hack on Mo.pm we run it through perltidy and it loks great. When we
+When we hack on Mo.pm we run it through perltidy and it looks great. When we
are done we run ./script/compress.pl on it and it turns into 2 lines.
-It needs to be 2 lines because Module::Install barfs on parsing out the
-VERSION otherwise. Either Module::Install should be fixed or we should stop
-using it for this.
+The package declaration and $VERSION are on their own line. That way if
+someone inlines Mo, they can make their own package line more easily, and just
+grab line 2, the code.
+
+This also helps because Module::Install barfs on parsing out the VERSION
+otherwise. We should fix Module::Install or coonsider stop using it for this.
=item strict and warnings
@@ -175,7 +178,7 @@ system. Unfortunately this comes at a (often hefty) performance price.
Attempts to make something similar but less hefty came in the forms of Mouse,
Mousse and Moo. Mo is just the next attempt. It is a bare minimum OO
-framework, that still looks like a Moose.
+framework, that still looks like Moose.
I've heard people argue that Mo doesn't belong in the Moose family, but those
same people often feel the same way about Mouse and Moo. It won't stop me from
@@ -184,7 +187,7 @@ something possibly more wonderful.
With each of these attempts, less of the original Moose power is implemented.
This annoys the hardcore Moose developers. But hopefully it pushes them
-towards making Moose better and batter. I can imagine the day when Moose is a
+towards making Moose better and better. I can imagine the day when Moose is a
compiled in part of the C<perl> interpreter and thus faster then Mo. At that
point, all the others will become remnants of the past.

0 comments on commit 5c2b2e9

Please sign in to comment.
Something went wrong with that request. Please try again.