The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.03 - 2012-09-30

  • Various hacks to make Type::Constraint objects play nice with Moose. Needs changes to Moose to work properly, however.
  • The message generator sub is no longer called as a method, it is simply called as a sub, so it doesn't receive the type as an argument.
  • The inline environment variable names used for each type are unique so types will not step on each other if you want to inline more than one type check in the same scope.
  • Non-inlined type coercions were completely broken.
  • Added $type->is_same_type_as and $type->is_a_type_of methods.
  • The Maybe type was a subtype of Ref in the code, which is wrong. It is now a subtype of Item.
  • This module now explicitly requires Perl 5.10.

Modules

Type constraints and coercions for Perl
A class representing a coercion from one type to another
A class for constraints which require a class name or object with a set of methods
A class for constraints which require a class name or an object that inherit from a specific class
A class for constraints which require a string matching one of a set of values
A class for constraints which require an object with a set of methods
A class for constraints which require an object that inherits from a specific class
A class which represents parameterizable constraints
A class which represents parameterized constraints
Provides a common implementation for Type::Constraint::AnyCan and Type::Constraint::ObjectCan
The interface all type constraints should provide
Provides a common implementation for Type::Constraint::AnyIsa and Type::Constraint::ObjectIsa
Class for simple (non-parameterized or specialized) types
Type declaration subroutines
A class to represent where a type or coercion was declared
A Throwable::Error subclass for type constraint failures
Base class for type libraries
Helper subs for the Type distro
Implements type constraint objects for Perl's built-in types
Implements the per-package type registry
A role for things which can be inlined (type constraints and coercions)