@prefix dc: <http://purl.org/dc/terms/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix doap-changeset: <http://ontologi.es/doap-changeset#> .
@prefix doap-deps: <http://ontologi.es/doap-deps#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://dev.perl.org/licenses/>
dc:title "the same terms as the perl 5 programming language system itself".
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/project>
a doap:Project;
dc:contributor <http://purl.org/NET/cpan-uri/person/tobyink>;
doap-deps:develop-recommendation [ doap-deps:on "Dist::Inkt 0.001"^^doap-deps:CpanId ];
doap-deps:runtime-requirement [ doap-deps:on "perl 5.008001"^^doap-deps:CpanId ], [
doap-deps:on "Types::Standard 2.000000"^^doap-deps:CpanId;
], [
doap-deps:on "Type::Params 2.000000"^^doap-deps:CpanId;
], [ doap-deps:on "Exporter::Shiny"^^doap-deps:CpanId ], [ doap-deps:on "Role::Hooks"^^doap-deps:CpanId ];
doap-deps:test-requirement [ doap-deps:on "parent"^^doap-deps:CpanId ], [ doap-deps:on "Test::More 0.96"^^doap-deps:CpanId ], [ doap-deps:on "Class::Tiny"^^doap-deps:CpanId ], [ doap-deps:on "Role::Tiny"^^doap-deps:CpanId ], [ doap-deps:on "Test::Fatal"^^doap-deps:CpanId ], [ doap-deps:on "Test::Requires"^^doap-deps:CpanId ];
doap:bug-database <https://github.com/tobyink/p5-sub-multimethod/issues>;
doap:created "2020-01-27"^^xsd:date;
doap:developer <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:download-page <https://metacpan.org/release/Sub-MultiMethod>;
doap:homepage <https://metacpan.org/release/Sub-MultiMethod>;
doap:license <http://dev.perl.org/licenses/>;
doap:maintainer <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:name "Sub-MultiMethod";
doap:programming-language "Perl";
doap:release <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-001>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-002>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-003>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-004>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-005>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-006>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-007>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-008>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-900>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-901>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-902>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-903>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-904>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-905>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-906>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-907>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-908>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-909>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-000>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-001>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-002>, <http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-003>;
doap:repository [
a doap:GitRepository;
doap:browse <https://github.com/tobyink/p5-sub-multimethod>;
];
doap:shortdesc "yet another implementation of multimethods".
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-001>
a doap:Version;
rdfs:label "Initial release";
dc:identifier "Sub-MultiMethod-0.001"^^xsd:string;
dc:issued "2020-01-28"^^xsd:date;
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.001.tar.gz>;
doap:revision "0.001"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-002>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.002"^^xsd:string;
dc:issued "2020-01-28"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Packaging;
rdfs:label "Add missing dependency on MRO::Compat.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.002.tar.gz>;
doap:revision "0.002"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-003>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.003"^^xsd:string;
dc:issued "2020-01-28"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Bugfix;
rdfs:label "Fix bug in aliases where the signature checker could end up as a hashref instead of a coderef.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.003.tar.gz>;
doap:revision "0.003"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-004>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.004"^^xsd:string;
dc:issued "2020-02-05"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Documentation;
rdfs:label "Improve documentation about multimethods and roles.";
], [
a doap-changeset:Documentation;
rdfs:label "Rock/paper/scissors example.";
], [
a doap-changeset:Bugfix;
rdfs:label "Fix for multimethods in roles that consume other roles.";
], [
a doap-changeset:Addition;
rdfs:label "Provide a `monomethod` function to install non-multimethods with the same signature handling as `monomethod`.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.004.tar.gz>;
doap:revision "0.004"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-005>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.005"^^xsd:string;
dc:issued "2020-02-06"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Tests;
rdfs:label "Test `multimethod(undef, %spec)` works.";
], [
a doap-changeset:Tests;
rdfs:label "Test `method => $n` for $n=0 and $n=2.";
], [
a doap-changeset:Documentation;
rdfs:label "Various improvements to documentation including exporting functions.";
], [
a doap-changeset:Documentation;
rdfs:label "Document the behaviour of multimethods with a number of invocants not equal to 1.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.005.tar.gz>;
doap:revision "0.005"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-006>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.006"^^xsd:string;
dc:issued "2020-02-06"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Packaging;
rdfs:label "Don't require Sub::Util if Sub::Name is already installed.";
], [
a doap-changeset:Packaging;
rdfs:label "Don't require MRO::Compat on Perl 5.10 or above.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.006.tar.gz>;
doap:revision "0.006"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-007>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.007"^^xsd:string;
dc:issued "2020-02-07"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Documentation;
rdfs:label "Minor fixes for roles documentation.";
], [
a doap-changeset:Change;
rdfs:label "Refactor to expose more internals as part of the API.";
], [
a doap-changeset:Addition;
rdfs:label "Add a warning if a conflict is detected in number of invocants for a multimethod.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.007.tar.gz>;
doap:revision "0.007"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-008>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.008"^^xsd:string;
dc:issued "2020-02-11"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Bugfix;
rdfs:label "Fix a candidate selection issue that could arise from late-loaded base classes and/or diamond inheritance.";
], [
a doap-changeset:Tests;
rdfs:label "Diamond inheritance tests.";
], [
a doap-changeset:Documentation;
rdfs:label "Document obscure Perl 5.8 mro issue.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.008.tar.gz>;
doap:revision "0.008"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-900>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.900"^^xsd:string;
dc:issued "2020-10-09"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Change;
rdfs:label "Simplify usage in roles.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.900.tar.gz>;
doap:revision "0.900"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-901>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.901"^^xsd:string;
dc:issued "2020-10-09"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Change;
rdfs:label "Refactor role support, setting up role hooks in the API instead of the exported `multimethod` function.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.901.tar.gz>;
doap:revision "0.901"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-902>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.902"^^xsd:string;
dc:issued "2020-11-15"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Packaging;
rdfs:label "Should require Sub::Util 1.40, not Sub::Name 1.40.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.902.tar.gz>;
doap:revision "0.902"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-903>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.903"^^xsd:string;
dc:issued "2022-06-19"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Addition;
rdfs:label "Sub::MultiMethod now supports references to coderefs as method names.";
], [
a doap-changeset:Packaging;
rdfs:label "Drop support for Perl 5.8.0 (Jul 2002); minimum Perl version is now 5.8.1 (Sep 2003).";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.903.tar.gz>;
doap:revision "0.903"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-904>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.904"^^xsd:string;
dc:issued "2022-06-19"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Change;
rdfs:label "When calling a method which was a coderef, it shouldn't be necessary to look in parent classes.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.904.tar.gz>;
doap:revision "0.904"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-905>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.905"^^xsd:string;
dc:issued "2022-06-19"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Change;
rdfs:label "Avoid using a particular optimization if Type::Param's head or tail options are being used.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.905.tar.gz>;
doap:revision "0.905"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-906>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.906"^^xsd:string;
dc:issued "2022-06-25"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Bugfix;
rdfs:label "Fix precedence issue which somehow only came up with Type::Tiny::XS installed.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.906.tar.gz>;
doap:revision "0.906"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-907>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.907"^^xsd:string;
dc:issued "2022-06-26"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Addition;
rdfs:label "Add `multifunction` and `monofunction` to the exports.";
], [
a doap-changeset:BackCompat;
rdfs:label "The `multimethods_from_roles` function is deprecated. Prior to Sub::MultiMethods 0.900, this was a function you'd call in your class to auto-copy any multimethods defined in roles into your class. In Sub::MultiMethods 0.900 that functionality became automatic, and the function to do it manually became a dummy do-nothing sub. It now issues a warning and will be removed at a later date.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.907.tar.gz>;
doap:revision "0.907"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-908>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.908"^^xsd:string;
dc:issued "2022-06-26"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Documentation;
rdfs:label "Update examples to no longer call deprecated methods.";
], [
a doap-changeset:Change;
rdfs:label "Minor code tidy ups.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.908.tar.gz>;
doap:revision "0.908"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_0-909>
a doap:Version;
dc:identifier "Sub-MultiMethod-0.909"^^xsd:string;
dc:issued "2022-06-26"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Documentation;
rdfs:label "Use Perl 5.20+ sub signatures in examples.";
], [
a doap-changeset:Documentation;
rdfs:label "Other minor pod tidy ups.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-0.909.tar.gz>;
doap:revision "0.909"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-000>
a doap:Version;
dc:identifier "Sub-MultiMethod-1.000"^^xsd:string;
dc:issued "2022-09-23"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Change;
rdfs:label "Change API to match Type::Params v2 more closely. (Older API is still supported, but no longer documented.)";
], [
a doap-changeset:Update;
rdfs:label "Require Type::Params v2.";
], [
a doap-changeset:BackCompat;
rdfs:label "The `multimethods_from_roles` function has been removed.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-1.000.tar.gz>;
doap:revision "1.000"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-001>
a doap:Version;
dc:identifier "Sub-MultiMethod-1.001"^^xsd:string;
dc:issued "2025-09-19"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Change;
rdfs:label "Optimization. Now around ten times faster for simple cases with positional signatures and no coercion.";
], [
a doap-changeset:Addition;
rdfs:label "Added `want` option and associated exportable constants.";
], [
a doap-changeset:Addition;
rdfs:label "Added `if` option.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-1.001.tar.gz>;
doap:revision "1.001"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-002>
a doap:Version;
dc:identifier "Sub-MultiMethod-1.002"^^xsd:string;
dc:issued "2025-09-28"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Addition;
rdfs:label "Added `die` option as a shortcut for `code => sub { croak ... }`.";
], [
a doap-changeset:Addition;
rdfs:label "Added `return` option as a shortcut for `code => sub { return ... }`.";
], [
a doap-changeset:Addition;
rdfs:label "Support simpler syntax: `multimethod foo => [...] => sub { ... };`";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-1.002.tar.gz>;
doap:revision "1.002"^^xsd:string.
<http://purl.org/NET/cpan-uri/dist/Sub-MultiMethod/v_1-003>
a doap:Version;
dc:identifier "Sub-MultiMethod-1.003"^^xsd:string;
dc:issued "2025-10-17"^^xsd:date;
doap-changeset:changeset [
doap-changeset:item [
a doap-changeset:Documentation;
rdfs:label "Minor documentation improvements.";
];
];
doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/tobyink>;
doap:file-release <http://backpan.cpan.org/authors/id/T/TO/TOBYINK/Sub-MultiMethod-1.003.tar.gz>;
doap:revision "1.003"^^xsd:string.
<http://purl.org/NET/cpan-uri/person/tobyink>
a foaf:Person;
foaf:mbox <mailto:tobyink@cpan.org>;
foaf:name "Toby Inkster";
foaf:nick "TOBYINK";
foaf:page <https://metacpan.org/author/TOBYINK>.