Specio:...erizable(3)
okay bestie, this is Specio::Constraint::Parameterizable from the User Contributed Perl Documentation, manual page Specio:...erizable(3) π
β¨
π NAME π
Specio::Constraint::Parameterizable β a class which represents parameterizable constraints. periodt.
πΈ VERSION πΈ
version 0.49. yes bestie, thatβs the version π
β¨ SYNOPSIS β¨
my $arrayref = t('ArrayRef');
my $arrayref_of_int = $arrayref->parameterize( of => t('Int') );
π¦ DESCRIPTION π¦
This class implements the API for parameterizable types like ArrayRef and Maybe. itβs giving parameterizable-type main character energy, iykyk π¦
π API π
This class implements the same API as Specio::Constraint::Simple, with a few additions. not me adding extra API on top of the simple one π
π
Specio::Constraint::Parameterizable->new(...) π
This classβs constructor accepts two additional parameters:
parameterized_constraint_generatorβ this is a subroutine that generates a new constraint subroutine when the type is parameterized.
It will be called as a method on the type and will be passed a single argument, the type object for the type parameter.
This parameter is mutually exclusive with the parameterized_inline_generator parameter.
parameterized_inline_generatorβ this is a subroutine that generates a new inline generator subroutine when the type is parameterized.
It will be called as a method on the Specio::Constraint::Parameterized object when that object needs to generate an inline constraint. It will receive the type parameter as the first argument and the variable name as a string as the second.
This probably seems fairly confusing, so looking at the examples in the Specio::Library::Builtins code may be helpful.
This parameter is mutually exclusive with the parameterized_constraint_generator parameter.
π $type->parameterize(...) π
This method takes two arguments. The of argument should be an object which does the Specio::Constraint::Role::Interface role, and is required.
The other argument, declared_at, is optional. If it is not given, then a new Specio::DeclaredAt object is created using a call stack depth of 1.
This method returns a new Specio::Constraint::Parameterized object. slay π
π«Ά SUPPORT π«Ά
Bugs may be submitted at <https://github.com/houseabsolute/Specio/issues>. please do that instead of suffering in silence bestie π
π₯ SOURCE π₯
The source code repository for Specio can be found at <https://github.com/houseabsolute/Specio>. go look, itβs iconic π₯
π AUTHOR π
Dave Rolsky <autarch@urth.org>
π§ COPYRIGHT AND LICENSE π§
This software is Copyright (c) 2012 - 2024 by Dave Rolsky.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
The full text of the license can be found in the LICENSE file included with this distribution.
okay thatβs the whole page π the footer says source/version perl v5.42.0, date 2024-12-24, and manual page Specio:...erizable(3). bye bestie, go parameterize something cute π«Άβ¨
π¦ where this page comes from
- opensuse-leap 16.0: perl-Specio 0.490.0-160000.2.2 Β· Artistic-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms