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

Changes for version 0.36 - 2017-02-19

  • Inlined coercions would attempt to coerce for every type which matched the value given, instead of stopping after the first type. Fixed by Graham Knop (GH #11).
  • Inlined coercions did not include the inline environment variables needed by the type from which the coercion was being performed. Fixed by Graham Knop (GH #8).
  • When you use the same type repeatedly as coderef (for example, as a constraint with Moo), it will only generated its subified form once, rather than regenerating it each time it is de-referenced.
  • Added an API to Specio::Subs to allow you to combine type libraries and helper subs in one package for exporting. See the Specio::Exporter docs for more details.

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 does a specific role
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 intersection constraints
A class for constraints which require an object with a set of methods
A class for constraints which require an object that does a specific role
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 Specio::Constraint::AnyCan and Specio::Constraint::ObjectCan
Provides a common implementation for Specio::Constraint::AnyDoes and Specio::Constraint::ObjectDoes
The interface all type constraints should provide
Provides a common implementation for Specio::Constraint::AnyIsa and Specio::Constraint::ObjectIsa
Class for simple (non-parameterized or specialized) types
A class which represents structurable constraints
A class which represents structured constraints
A class for union constraints
Specio 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 Specio distro
Implements type constraint objects for Perl's built-in types
Implements type constraint objects for some common numeric types
Implements type constraint objects for some common Perl language things
Implements type constraint objects for some common string types
Structured types for Specio (Dict, Map, Tuple)
Guts of Dict structured type
Guts of Map structured type
Guts of Tuple structured type
A painfully poor reimplementation of Moo(se)
A partially rear-ended copy of Devel::PartialDump without prereqs
Implements the per-package type registry
A role for things which can be inlined (type constraints and coercions)
Make validation and coercion subs from Specio types
Type checks used internally for Specio classes (it's not self-bootstrapping (yet?))
Test helpers for Specio