The Musings of a Dyslexic Technologist

A blogging framework for bowtie.

Announcing App::Midgen v0.24

So what’s new?

  • Some extra speed taking advantage of some new developments in:
    • PPI::XS
    • Perl::MinimumVersion::Fast
  • Re-factor the Output formats to composed Roles
  • Start of conversion to Type::Tiny

Some extra speed taking advantage of some new developments in:

PPI::XS

Now that PPI-XS has been updated (Fix “defined @array” deprecation warning) DAGOLDEN++. We can turn off the noise suppression and add it as a dependency if your OS can_cc. Not much of a boost but anything here is a benefit.

Perl::MinimumVersion::Fast

Perl::MinimumVersion::Fast TOKUHIROM++ is built on top of Compiler::Lexer GOCCY++, this is quick. This enables us to check all perl modules rather than the subset we extract when looking for a Package Name. Due to it being such a cool new module, we will fall back to Perl::MinimumVersion if your OS !can_cc.

Re-factor the Output formats to Composed Roles

Inspired by the Composed Method Theory, I thought why not have a Composed Role, for the output formats, with each format type being a separate Role, so I did.

Output Format Composed Roles
1
2
3
4
5
6
7
8
9
use Moo::Role;
with qw(
 App::Midgen::Role::Output::MIdsl
 App::Midgen::Role::Output::MI
 App::Midgen::Role::Output::MB
 App::Midgen::Role::Output::Dzil
 App::Midgen::Role::Output::Dist
 App::Midgen::Role::Output::CPANfile
);

Start of conversion to Type::Tiny

Why, one so I can have a consistent Type system regardless of Moose or Moo, two it’s faster. The first part of the conversion from MooX::Types::MooseLike to Type::Tiny

So we have gone from this:

1
2
use Moo::Role;
use MooX::Types::MooseLike::Base qw(:all);

To this:

1
2
use Types::Standard qw( ArrayRef Bool Int Object Str);
use Moo::Role;

Many thanks to TOBYINK along the way, the final part will happen soon.

__END__