Marlin Racing

When I first introduced Marlin, it seemed the only OO framework which could beat its constructor in speed was the one generated by the new Perl core class keyword. Which seems fair, as that’s implemented in C and is tightly integrated with the Perl interpreter. However, I’m pleased to say that Marlin’s constructors are now … Continued

Introducing Marlin

Does the Perl world need another object-oriented programming framework? To be honest, probably not. But here’s why you might want to give Marlin a try anyway. Most of your constructors and accessors will be implemented in XS and be really, really fast. If you accept a few basic principles like “attributes should usually be read-only”, … Continued

Type::Tiny 2.8.0 Released

What’s new? The BoolLike type constraint accepts boolean.pm booleans. Type::Params offers some improvements for DWIM named parameter processing. More shortcuts are provided for exporting parameterized versions of type constraints….

Using Type::Params Effectively

One of the modules bundled with Type::Tiny is Type::Params, a module that allows you to validate subroutine signatures using type constraints. It’s one of the more popular parts of the suite. This article provides a few hints for using…

Type::Tiny v2 is Coming

Eagle-eyed watchers of CPAN may have noticed that I’ve recently been releasing Type::Tiny development releases with version numbers 1.999_XYZ. Type::Tiny v2 is intended to be compatible with Type::Tiny v1. If you’ve used Type::Tiny v1, you shouldn’t need to change…

RFC: new API for Type::Params

Firstly, I’m not planning on breaking compatibility with Type::Params. The new API would live under a different namespace, such as Type::Params2. The API for Type::Params is currently: use feature ‘state’; use Type::Params qw( compile compile_named_oo ); use Types::Standard -types; sub…

Announcing Zydeco

Technically, I already announced it, but now I’ve renamed it. MooX::Pression is now called Zydeco. Moops had a memorable name, and I think the naming really helped it gain a following. MooX::Pression was just meh. So now it’s Zydeco. Zydeco…

Type::Tiny 1.8.0 released

Type::Tiny 1.8.0 (1.008000) was released today. Type::Tiny 1.8.0 on MetaCPAN Type::Tiny website (NEW!) The new features are pretty minor. Most of the improvements are in documentation and testing. Totally rewritten manual/tutorial. Every issue on RT has been handled. Bigger test…

Feedback sought

I’ve been trying to update the docs for Type::Tiny and want feedback. Is there anything that’s hard to understand, or needs explaining more? New version Old version In particular, it’s Type::Tiny::Manual and the other pod pages in that namespace that…

Announcing MooX::Press

MooX::Press is a quick way of building a bunch of Moo roles and classes in one use statement. The most basic example would be: package MyApp { use MooX::Press class => [‘Foo’, ‘Bar’]; } my $thing1 = MyApp::Foo->new(); my…