moose/Moo — pull request #10 by tobyink (2014-09-17 13:22:32+00:00)
Title: Exporter::Tiny

Here is an initial port of Moo to do its exports through Exporter::Tiny. ***Why*** you say?

* It has the potential to simplify a lot of the exporting code - breaking up those big `import` functions in Moo and Moo::Role. Each generator (`_generate_has`, `_generate_extends`, etc) gets called as a class method, so subclasses have an opportunity to override them.

* It provides some standard Exporter-like functionality, like:

```
use Moo qw( has extends with ); # don't import method modifiers
```
* It provides some Sub::Exporter-like functionality, like:

```
use Moo -default,
has => { -as => "has_optional", is => "ro", required => 0, predicate => 1 },
has => { -as => "has_required", is => "ro", required => 1 };
```

This branch is not "done" yet, but I'm submitting a pull request to put it on the radar.