I'll also extend John's last comment to say "Because it's far from perfect, this is a space we should be watching carefully, before it becomes the next Matt's Script Archive."
]]>
and can I have some? :-)
1) Signatures are now enabled by default in 5.36 onward (https://perldoc.perl.org/perldelta#Core-Enhancements). An OO system (Corinna (https://ovid.github.io/articles/current-corinna-status.html) appears to be making its way into core. How do you see these as affecting Venus?
2) What is the speed penalty, if any, for using Venus? We all know Moose is a startup pig; hence the existence of Moo.
]]>Note: This module was given a "facelift" in 2022 with a more natural API. These docs have been revamped to feature the new API prominently, but the old API's functions are still documented within, mapped to the new calls.
]]>Type::Params
:-)
Not having any practical experience with it and referring to just the examples, I feel the second syntax is much cleaner. Certainly, getting rid of compile_named_oo
is a win.
However, I don't think the Perl world needs YetAnotherNumberedModule. Couldn't you just add signature
and signature_for
to the current module and let the user do:
use Type::Params qw/signature signature_for/;
If you don't want the user to have to use an explicit import, maybe Type::Signature
would be a good name. Or even Type::ParamsSignature
. Anything but Type::Params2
.
sort BLOCK LIST
. I recall having written some rather long blocks that probably should have been refactored as functions. Maybe the explanation of needing &
is why I never did. I'll try to remember that going forward...]]>