BSD Ports

devel/p5-Specio 0.53 MidnightBSD

Type constraints and coercions for Perl

System
MidnightBSD
Repository
mports
Maintainer
[email protected]
License
artistic2
Categories
devel, perl5

Description

The Specio distribution provides classes for representing type constraints and coercion, along with syntax sugar for declaring them.

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.

The author's long-term goal is to replace Moose's built-in types and MooseX::Types with this module.

In the other systems

The newest version among them is 0.53, as upstream numbers it.

SystemPortVersionVulnerabilitiesStatusMaintainerLast update
MidnightBSDdevel/p5-Specio0.53 newestno data-[email protected]-
FreeBSDdevel/p5-Specio0.53 newestnone known-[email protected]-
OpenBSDdevel/p5-Specio0.51no data-Wen Heping <[email protected]>-
NetBSDdevel/p5-Specio0.53nb1 newestnone known-[email protected]2026-07-16
DragonFlydevel/p5-Specio0.50none known-[email protected]-
HardenedBSDdevel/p5-Specio0.53 newestno data-[email protected]-
GhostBSDdevel/p5-Specio0.53 newestno data-[email protected]-
OPNsensedevel/p5-Specio0.53 newestno data-[email protected]-

Compare across BSDs

Install

Binary package:

mport install p5-Specio

From mports:

cd /usr/mports/devel/p5-Specio && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	p5-Specio>0:devel/p5-Specio

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

As this port's Makefile names them.

Build 10

Runtime 10

Test 3

Build dependencies 10
Run dependencies 10

Configuration

No options to configure.

USES
perl5
Service scripts
none

Files

pkg-plist 82
  • %%SITE_PERL%%/Specio.pm
  • %%SITE_PERL%%/Specio/Coercion.pm
  • %%SITE_PERL%%/Specio/Constraint/AnyCan.pm
  • %%SITE_PERL%%/Specio/Constraint/AnyDoes.pm
  • %%SITE_PERL%%/Specio/Constraint/AnyIsa.pm
  • %%SITE_PERL%%/Specio/Constraint/Enum.pm
  • %%SITE_PERL%%/Specio/Constraint/Intersection.pm
  • %%SITE_PERL%%/Specio/Constraint/ObjectCan.pm
  • %%SITE_PERL%%/Specio/Constraint/ObjectDoes.pm
  • %%SITE_PERL%%/Specio/Constraint/ObjectIsa.pm
  • %%SITE_PERL%%/Specio/Constraint/Parameterizable.pm
  • %%SITE_PERL%%/Specio/Constraint/Parameterized.pm
  • %%SITE_PERL%%/Specio/Constraint/Role/CanType.pm
  • %%SITE_PERL%%/Specio/Constraint/Role/DoesType.pm
  • %%SITE_PERL%%/Specio/Constraint/Role/Interface.pm
  • %%SITE_PERL%%/Specio/Constraint/Role/IsaType.pm
  • %%SITE_PERL%%/Specio/Constraint/Simple.pm
  • %%SITE_PERL%%/Specio/Constraint/Structurable.pm
  • %%SITE_PERL%%/Specio/Constraint/Structured.pm
  • %%SITE_PERL%%/Specio/Constraint/Union.pm
  • %%SITE_PERL%%/Specio/Declare.pm
  • %%SITE_PERL%%/Specio/DeclaredAt.pm
  • %%SITE_PERL%%/Specio/Exception.pm
  • %%SITE_PERL%%/Specio/Exporter.pm
  • %%SITE_PERL%%/Specio/Helpers.pm
  • %%SITE_PERL%%/Specio/Library/Builtins.pm
  • %%SITE_PERL%%/Specio/Library/Numeric.pm
  • %%SITE_PERL%%/Specio/Library/Perl.pm
  • %%SITE_PERL%%/Specio/Library/String.pm
  • %%SITE_PERL%%/Specio/Library/Structured.pm
  • %%SITE_PERL%%/Specio/Library/Structured/Dict.pm
  • %%SITE_PERL%%/Specio/Library/Structured/Map.pm
  • %%SITE_PERL%%/Specio/Library/Structured/Tuple.pm
  • %%SITE_PERL%%/Specio/OO.pm
  • %%SITE_PERL%%/Specio/PP.pm
  • %%SITE_PERL%%/Specio/PartialDump.pm
  • %%SITE_PERL%%/Specio/Registry.pm
  • %%SITE_PERL%%/Specio/Role/Inlinable.pm
  • %%SITE_PERL%%/Specio/Subs.pm
  • %%SITE_PERL%%/Specio/TypeChecks.pm
  • %%SITE_PERL%%/Specio/XS.pm
  • %%SITE_PERL%%/Test/Specio.pm
  • %%PERL5_MAN3%%/Specio.3.gz
  • %%PERL5_MAN3%%/Specio::Coercion.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::AnyCan.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::AnyDoes.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::AnyIsa.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Enum.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Intersection.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::ObjectCan.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::ObjectDoes.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::ObjectIsa.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Parameterizable.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Parameterized.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Role::CanType.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Role::DoesType.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Role::Interface.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Role::IsaType.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Simple.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Structurable.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Structured.3.gz
  • %%PERL5_MAN3%%/Specio::Constraint::Union.3.gz
  • %%PERL5_MAN3%%/Specio::Declare.3.gz
  • %%PERL5_MAN3%%/Specio::DeclaredAt.3.gz
  • %%PERL5_MAN3%%/Specio::Exception.3.gz
  • %%PERL5_MAN3%%/Specio::Exporter.3.gz
  • %%PERL5_MAN3%%/Specio::Helpers.3.gz
  • %%PERL5_MAN3%%/Specio::Library::Builtins.3.gz
  • %%PERL5_MAN3%%/Specio::Library::Numeric.3.gz
  • %%PERL5_MAN3%%/Specio::Library::Perl.3.gz
  • %%PERL5_MAN3%%/Specio::Library::String.3.gz
  • %%PERL5_MAN3%%/Specio::Library::Structured.3.gz
  • %%PERL5_MAN3%%/Specio::Library::Structured::Dict.3.gz
  • %%PERL5_MAN3%%/Specio::Library::Structured::Map.3.gz
  • %%PERL5_MAN3%%/Specio::Library::Structured::Tuple.3.gz
  • %%PERL5_MAN3%%/Specio::OO.3.gz
  • %%PERL5_MAN3%%/Specio::PartialDump.3.gz
  • %%PERL5_MAN3%%/Specio::Registry.3.gz
  • %%PERL5_MAN3%%/Specio::Role::Inlinable.3.gz
  • %%PERL5_MAN3%%/Specio::Subs.3.gz
  • %%PERL5_MAN3%%/Specio::TypeChecks.3.gz
  • %%PERL5_MAN3%%/Test::Specio.3.gz
distinfo 1
FileSizeSHA256
Specio-0.53.tar.gz1300090d0eecfb9e89bd0f5f710fac42e1200a882d513a862f98497eaef5927ac6c183
Master sites 1
  • CPAN