/p5-Specio, Type constraints and coercions for Perl
0.36, Package name:
p5-Specio-0.36, Maintainer: pkgsrc-users
The Specio distribution provides classes for representing type
constraints and coercion, along with syntax sugar for declaring
Note that this is not a proper type system for Perl. Nothing in
this distribution will magically make the Perl interpreter start
checking a value's type on assignment to a variable. In fact,
there's no built-in way to apply a type to a variable at all.
Instead, you can explicitly check a value against a type, and
optionally coerce values to that type.
Required to run:
] Required to build:
Master sites: SHA1:
Version history: (Expand)
- (2017-02-22) Updated to version: p5-Specio-0.36
- (2017-02-16) Updated to version: p5-Specio-0.35
- (2017-01-30) Updated to version: p5-Specio-0.34
- (2017-01-25) Updated to version: p5-Specio-0.33
- (2017-01-18) Updated to version: p5-Specio-0.32
- (2016-11-07) Updated to version: p5-Specio-0.31
CVS history: (Expand)
| 2017-02-22 12:43:35 by Thomas Klausner | Files touched by this commit (2) | |
Updated p5-Specio to 0.36.
- 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
- Inlined coercions did not include the inline environment variables needed by
the type from which the coercion was being performed. Fixed by Graham Knop
- 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
| 2017-02-16 16:10:04 by Thomas Klausner | Files touched by this commit (2) | |
Updated p5-Specio to 0.35.
- Added Specio::Subs, a module which allows you to turn one or more library's
types into subroutines like is_Int() and to_Int().
- Added an inline_coercion method to Specio constraints.
| 2017-01-30 02:47:44 by Wen Heping | Files touched by this commit (2) | |
Update to 0.34
- Packages with Specio::Exporter can now specify additional arbitrary subs to
exporter. See the Specio::Exporter docs for details.
- Importing the same library twice in a given package would throw an
exception. The second attempt to import is now ignored.
| 2017-01-25 13:19:55 by Thomas Klausner | Files touched by this commit (2) | |
Updated p5-Specio to 0.33.
- Fixed a mistake in the SYNOPSIS for Specio::Declare. The example for the
*_isa_type helpers was not correct.
- Removed the alpha warning from the docs. This is being used by enough of my
modules on CPAN that I don't plan on doing any big breaking changes without
a deprecation first.
| 2017-01-16 10:40:39 by Thomas Klausner | Files touched by this commit (2) | |
Updated p5-Specio to 0.32.
- Fixed a bug in the inlining for types create by any_can_type() and
object_can_type(). This inlining mostly worked by accident because of some
List::Util XS magic, but this broke under the debugger. Reported by
Christian Walde (GH #17) and Chan Wilson
| 2016-11-07 14:30:04 by Makoto Fujiwara | Files touched by this commit (2) | |
Update devel/p5-Specio to 0.31
- The stack trace contained by Specio::Exception objects no longer includes a
stack frames for the Specio::Exception package.
- Made the inline_environment() and description() methods public on type and
| 2016-10-18 10:30:12 by Thomas Klausner | Files touched by this commit (2) | |
Updated p5-Specio to 0.30.
- Fix a bug with the Sub::Quoted sub returned by $type->coercion_sub. If a
type had more than one coercion, the generated sub could end up coercing the
value to undef some of the time. Depending on hash key ordering, this could
end up being a heisenbug that only occured some of the time.
| 2016-10-12 14:41:48 by Makoto Fujiwara | Files touched by this commit (2) | |
Updated devel/p5-Specio to 0.29
- Doc Specio::PartialDump because you may want to use it as part of the
failure message generation code for a type.