Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

Re^8: Should I upload it on CPAN?

by BrowserUk (Patriarch)
on Mar 02, 2012 at 04:04 UTC ( [id://957369]=note: print w/replies, xml ) Need Help??


in reply to Re^7: Should I upload it on CPAN?
in thread Should I upload it on CPAN?

By your logic, we should all just be writing in binary, and assembler is for people who don't understand 1 and 0s.

With respect. Twaddle!

The purpose of abstraction is to simplify. The art of good abstraction is to use the appropriate level for the task at hand.

Using the 300+ modules of Moose et. al.:

C:\test>perl -Mused Reprove.pl 2>nul | wc -l 357
to invoke LWP::Simple::get() on a list of files, write them to a temporary directory, and then invoke system to run a command; is an inappropriate use of abstraction. The creation of complexity from simplicity. In a word, overkill.

Like hiring the Philharmonic Orchestra to play musak in your lift; using an 18-wheeler to fetch a pint of milk from the corner shop; deploying the Delta Force to remove a spider from your bath.

I've said it before, I consider Moose to be best-of-breed for its purpose. But replacing a for loop and system with 300 modules to construct a module that contains the for loop and system, is not its purpose.

With regard to expertise: Still no one has stepped up to decipher this diarrhoea:

C:\test>Perl Reprove.pl Could not create the 'reader' method for variable_name because : Could + not generate inline reader because : Could not create writer for 'va +riable_name' because Failed to compile source: Compilation error source: #line 1 "reader MooseX::Traits::__ANON__::SERIAL::2::variable_name (de +fined at C:/Perl64/site/lib/Parse/Method/Signatures/Param/Bindable.pm + line 8)" sub { if (@_ > 1) { die Moose::Error::Util::create_error(message => "Cannot assign a value + to a read-only accessor", depth => -1, ); } return $_[0]->{"variable_name"}; } at C:/Perl64/site/lib/Class/MOP/Method/Generated.pm line 63 at C:/Perl64/site/lib/Moose/Meta/Method/Accessor.pm line 41 Moose::Meta::Method::Accessor::__ANON__('Failed to compile sou +rce: Compilation error\x{a}\x{a}source:\x{a}#line 1 ...') called at C +:/Perl64/site/lib/Try/Tiny.pm line 100 Try::Tiny::try('CODE(0x6c0f240)', 'Try::Tiny::Catch=REF(0x6c0e +d78)') called at C:/Perl64/site/lib/Moose/Meta/Method/Accessor.pm lin +e 47 Moose::Meta::Method::Accessor::_compile_code('Moose::Meta::Met +hod::Accessor=HASH(0x6c0ebb0)', 'ARRAY(0x6c0ee80)') called at C:/Perl +64/site/lib/Class/MOP/Method/Accessor.pm line 142 Class::MOP::Method::Accessor::__ANON__() called at C:/Perl64/s +ite/lib/Try/Tiny.pm line 71 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0eb98)', 'Try::Tiny::Catch=REF(0x6c0e +a30)') called at C:/Perl64/site/lib/Class/MOP/Method/Accessor.pm line + 157 Class::MOP::Method::Accessor::_generate_reader_method_inline(' +Moose::Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/s +ite/lib/Moose/Meta/Method/Accessor.pm line 62 Moose::Meta::Method::Accessor::_generate_reader_method('Moose: +:Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/li +b/Class/MOP/Method/Accessor.pm line 90 Class::MOP::Method::Accessor::_initialize_body('Moose::Meta::M +ethod::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/lib/Class/ +MOP/Method/Accessor.pm line 42 Class::MOP::Method::Accessor::new('Moose::Meta::Method::Access +or', 'attribute', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)', 'is_inlin +e', undef, 'accessor_type', 'reader', 'package_name', 'MooseX::Traits +::__ANON__::SERIAL::2', 'name', 'variable_name', 'associated_metaclas +s', 'Moose::Meta::Class=HASH(0x6c0c648)', 'definition_context', 'HASH +(0x6c0f1f8)') Class::MOP::Attribute::__ANON__() called at C:/Perl64/site/lib +/Try/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0f1b0)', 'Try::Tiny::Catch=REF(0x6c0f +0f0)') called at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 401 Class::MOP::Attribute::_process_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C:/ +Perl64/site/lib/Moose/Meta/Attribute.pm line 1074 Moose::Meta::Attribute::_process_accessors('Moose::Meta::Attri +bute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C: +/Perl64/site/lib/Class/MOP/Attribute.pm line 428 Class::MOP::Attribute::install_accessors('Moose::Meta::Attribu +te=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Moose/Meta/Attribut +e.pm line 1013 Moose::Meta::Attribute::install_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Class/MOP/Class.pm + line 891 Class::MOP::Class::__ANON__() called at C:/Perl64/site/lib/Try +/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0d430)', 'Try::Tiny::Catch=REF(0x6c08 +320)') called at C:/Perl64/site/lib/Class/MOP/Class.pm line 896 Class::MOP::Class::_post_add_attribute('Moose::Meta::Class=HAS +H(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C: +/Perl64/site/lib/Class/MOP/Mixin/HasAttributes.pm line 44 Class::MOP::Mixin::HasAttributes::add_attribute('Moose::Meta:: +Class=HASH(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') cal +led at C:/Perl64/site/lib/Moose/Meta/Class.pm line 570 Moose::Meta::Class::add_attribute('Moose::Meta::Class=HASH(0x6 +c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 152 Moose::Meta::Role::Application::ToClass::apply_attributes('Moo +se::Meta::Role::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta:: +Role::Composite=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648) +') called at C:/Perl64/site/lib/Moose/Meta/Role/Application.pm line 5 +8 Moose::Meta::Role::Application::apply('Moose::Meta::Role::Appl +ication::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Composite=HASH +(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 36 Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::R +ole::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Compo +site=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)', 'HASH(0x +6c03318)') called at C:/Perl64/site/lib/Moose/Meta/Role.pm line 470 Moose::Meta::Role::apply('Moose::Meta::Role::Composite=HASH(0x +6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl64/ +site/lib/Moose/Util.pm line 163 Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x6c0c6 +48)', undef, 'Parse::Method::Signatures::Param::Bindable', 'Parse::Me +thod::Signatures::Param::Positional') called at C:/Perl64/site/lib/Mo +ose/Util.pm line 99 Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x6c0c64 +8)', 'Parse::Method::Signatures::Param::Bindable', 'Parse::Method::Si +gnatures::Param::Positional') called at C:/Perl64/site/lib/Moose/Meta +/Class.pm line 104 Moose::Meta::Class::create('Class::MOP::Class::Immutable::Moos +e::Meta::Class=HASH(0x6b2f580)', 'MooseX::Traits::__ANON__::SERIAL::2 +', 'superclasses', 'ARRAY(0x6a072e8)', 'roles', 'ARRAY(0x6a1fea0)', ' +cache', 1) called at C:/Perl64/site/lib/MooseX/Traits/Util.pm line 67 MooseX::Traits::Util::new_class_with_traits('Parse::Method::Si +gnatures::Param', 'Bindable', 'Positional') called at C:/Perl64/site/ +lib/MooseX/Traits.pm line 24 MooseX::Traits::with_traits('Parse::Method::Signatures::Param' +, 'Bindable', 'Positional') called at C:/Perl64/site/lib/MooseX/Trait +s.pm line 46 MooseX::Traits::new_with_traits('Parse::Method::Signatures::Pa +ram', 'traits', 'ARRAY(0x6bfabd8)', 'required', 1, 'type_constraints' +, 'Parse::Method::Signatures::TypeConstraint=HASH(0x6c0b9e8)', 'varia +ble_name', '$file', 'sigil', '$') called at C:/Perl64/site/lib/Parse/ +Method/Signatures.pm line 113 Parse::Method::Signatures::create_param('Parse::Method::Signat +ures=HASH(0x6c08608)', 'HASH(0x6c085f0)') called at C:/Perl64/site/li +b/Parse/Method/Signatures.pm line 359 Parse::Method::Signatures::param('Parse::Method::Signatures=HA +SH(0x6c08608)') called at C:/Perl64/site/lib/Parse/Method/Signatures. +pm line 248 Parse::Method::Signatures::signature('Parse::Method::Signature +s', 'input', '(Str $file, $fh)', 'from_namespace', 'Module::Reprove') + called at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm + line 199 MooseX::Method::Signatures::Meta::Method::_build_parsed_signat +ure('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::parsed_signatur +e (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 36) line 7 MooseX::Method::Signatures::Meta::Method::parsed_signature('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 319 MooseX::Method::Signatures::Meta::Method::_build__positional_a +rgs('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::_positional_arg +s (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 62) line 7 MooseX::Method::Signatures::Meta::Method::_positional_args('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 369 MooseX::Method::Signatures::Meta::Method::_build_type_constrai +nt('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called + at reader MooseX::Method::Signatures::Meta::Method::type_constraint +(defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.p +m line 81) line 7 MooseX::Method::Signatures::Meta::Method::type_constraint('Moo +seX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C:/ +Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 174 Class::MOP::Class:::around('CODE(0x439bf08)', 'MooseX::Method: +:Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $fi +le, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Rep +rove') called at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line +162 Class::MOP::Method::Wrapped::__ANON__('MooseX::Method::Signatu +res::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $file, $fh) +', 'name', '_getfile_to_handle', 'package_name', 'Module::Reprove') c +alled at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line 91 MooseX::Method::Signatures::Meta::Method::wrap('MooseX::Method +::Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $f +ile, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Re +prove') called at C:/Perl64/site/lib/MooseX/Method/Signatures.pm line + 259 MooseX::Method::Signatures::_parser('MooseX::Method::Signature +s=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Method/Signat +ures.pm line 200 eval {...} called at C:/Perl64/site/lib/MooseX/Method/Signatur +es.pm line 200 MooseX::Method::Signatures::parser('MooseX::Method::Signatures +=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Declare/Syntax +/MethodDeclaration.pm line 51 MooseX::Declare::Syntax::MethodDeclaration::parse('MooseX::Dec +lare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'MooseX::Declare::Con +text=HASH(0x6a07528)') called at C:/Perl64/site/lib/MooseX/Declare/Sy +ntax/KeywordHandling.pm line 97 MooseX::Declare::Syntax::KeywordHandling::parse_declaration('M +ooseX::Declare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'C:/Perl64/ +site/lib/Module/Reprove.pm', 'HASH(0x62ba2d0)', 'method', 1) called a +t C:/Perl64/site/lib/MooseX/Declare/Syntax/KeywordHandling.pm line 51 MooseX::Declare::Syntax::KeywordHandling::__ANON__('method', 1 +) called at C:/Perl64/site/lib/Devel/Declare.pm line 274 Devel::Declare::linestr_callback('const', 'method', 1) called +at C:/Perl64/site/lib/Module/Reprove.pm line 109 require Module/Reprove.pm called at C:/Perl64/site/lib/App/Rep +rove.pm line 16 App::Reprove::BEGIN() called at C:/Perl64/site/lib/Module/Repr +ove.pm line 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 require App/Reprove.pm called at C:\test\Reprove.pl line 3 main::BEGIN() called at C:/Perl64/site/lib/Module/Reprove.pm l +ine 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 at C:/Perl64/site/lib/Class/MOP/Method/Accessor.pm line 156 Class::MOP::Method::Accessor::__ANON__('Could not create write +r for \'variable_name\' because Failed ...') called at C:/Perl64/site +/lib/Try/Tiny.pm line 100 Try::Tiny::try('CODE(0x6c0eb98)', 'Try::Tiny::Catch=REF(0x6c0e +a30)') called at C:/Perl64/site/lib/Class/MOP/Method/Accessor.pm line + 157 Class::MOP::Method::Accessor::_generate_reader_method_inline(' +Moose::Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/s +ite/lib/Moose/Meta/Method/Accessor.pm line 62 Moose::Meta::Method::Accessor::_generate_reader_method('Moose: +:Meta::Method::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/li +b/Class/MOP/Method/Accessor.pm line 90 Class::MOP::Method::Accessor::_initialize_body('Moose::Meta::M +ethod::Accessor=HASH(0x6c0ebb0)') called at C:/Perl64/site/lib/Class/ +MOP/Method/Accessor.pm line 42 Class::MOP::Method::Accessor::new('Moose::Meta::Method::Access +or', 'attribute', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)', 'is_inlin +e', undef, 'accessor_type', 'reader', 'package_name', 'MooseX::Traits +::__ANON__::SERIAL::2', ...) called at C:/Perl64/site/lib/Class/MOP/A +ttribute.pm line 389 Class::MOP::Attribute::__ANON__() called at C:/Perl64/site/lib +/Try/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0f1b0)', 'Try::Tiny::Catch=REF(0x6c0f +0f0)') called at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 401 Class::MOP::Attribute::_process_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C:/ +Perl64/site/lib/Moose/Meta/Attribute.pm line 1074 Moose::Meta::Attribute::_process_accessors('Moose::Meta::Attri +bute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C: +/Perl64/site/lib/Class/MOP/Attribute.pm line 428 Class::MOP::Attribute::install_accessors('Moose::Meta::Attribu +te=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Moose/Meta/Attribut +e.pm line 1013 Moose::Meta::Attribute::install_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Class/MOP/Class.pm + line 891 Class::MOP::Class::__ANON__() called at C:/Perl64/site/lib/Try +/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0d430)', 'Try::Tiny::Catch=REF(0x6c08 +320)') called at C:/Perl64/site/lib/Class/MOP/Class.pm line 896 Class::MOP::Class::_post_add_attribute('Moose::Meta::Class=HAS +H(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C: +/Perl64/site/lib/Class/MOP/Mixin/HasAttributes.pm line 44 Class::MOP::Mixin::HasAttributes::add_attribute('Moose::Meta:: +Class=HASH(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') cal +led at C:/Perl64/site/lib/Moose/Meta/Class.pm line 570 Moose::Meta::Class::add_attribute('Moose::Meta::Class=HASH(0x6 +c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 152 Moose::Meta::Role::Application::ToClass::apply_attributes('Moo +se::Meta::Role::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta:: +Role::Composite=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648) +') called at C:/Perl64/site/lib/Moose/Meta/Role/Application.pm line 5 +8 Moose::Meta::Role::Application::apply('Moose::Meta::Role::Appl +ication::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Composite=HASH +(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 36 Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::R +ole::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Compo +site=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)', 'HASH(0x +6c03318)') called at C:/Perl64/site/lib/Moose/Meta/Role.pm line 470 Moose::Meta::Role::apply('Moose::Meta::Role::Composite=HASH(0x +6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl64/ +site/lib/Moose/Util.pm line 163 Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x6c0c6 +48)', undef, 'Parse::Method::Signatures::Param::Bindable', 'Parse::Me +thod::Signatures::Param::Positional') called at C:/Perl64/site/lib/Mo +ose/Util.pm line 99 Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x6c0c64 +8)', 'Parse::Method::Signatures::Param::Bindable', 'Parse::Method::Si +gnatures::Param::Positional') called at C:/Perl64/site/lib/Moose/Meta +/Class.pm line 104 Moose::Meta::Class::create('Class::MOP::Class::Immutable::Moos +e::Meta::Class=HASH(0x6b2f580)', 'MooseX::Traits::__ANON__::SERIAL::2 +', 'superclasses', 'ARRAY(0x6a072e8)', 'roles', 'ARRAY(0x6a1fea0)', ' +cache', 1) called at C:/Perl64/site/lib/MooseX/Traits/Util.pm line 67 MooseX::Traits::Util::new_class_with_traits('Parse::Method::Si +gnatures::Param', 'Bindable', 'Positional') called at C:/Perl64/site/ +lib/MooseX/Traits.pm line 24 MooseX::Traits::with_traits('Parse::Method::Signatures::Param' +, 'Bindable', 'Positional') called at C:/Perl64/site/lib/MooseX/Trait +s.pm line 46 MooseX::Traits::new_with_traits('Parse::Method::Signatures::Pa +ram', 'traits', 'ARRAY(0x6bfabd8)', 'required', 1, 'type_constraints' +, 'Parse::Method::Signatures::TypeConstraint=HASH(0x6c0b9e8)', 'varia +ble_name', '$file', ...) called at C:/Perl64/site/lib/Parse/Method/Si +gnatures.pm line 113 Parse::Method::Signatures::create_param('Parse::Method::Signat +ures=HASH(0x6c08608)', 'HASH(0x6c085f0)') called at C:/Perl64/site/li +b/Parse/Method/Signatures.pm line 359 Parse::Method::Signatures::param('Parse::Method::Signatures=HA +SH(0x6c08608)') called at C:/Perl64/site/lib/Parse/Method/Signatures. +pm line 248 Parse::Method::Signatures::signature('Parse::Method::Signature +s', 'input', '(Str $file, $fh)', 'from_namespace', 'Module::Reprove') + called at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm + line 199 MooseX::Method::Signatures::Meta::Method::_build_parsed_signat +ure('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::parsed_signatur +e (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 36) line 7 MooseX::Method::Signatures::Meta::Method::parsed_signature('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 319 MooseX::Method::Signatures::Meta::Method::_build__positional_a +rgs('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::_positional_arg +s (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 62) line 7 MooseX::Method::Signatures::Meta::Method::_positional_args('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 369 MooseX::Method::Signatures::Meta::Method::_build_type_constrai +nt('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called + at reader MooseX::Method::Signatures::Meta::Method::type_constraint +(defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.p +m line 81) line 7 MooseX::Method::Signatures::Meta::Method::type_constraint('Moo +seX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C:/ +Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 174 Class::MOP::Class:::around('CODE(0x439bf08)', 'MooseX::Method: +:Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $fi +le, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Rep +rove', ...) called at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm +line 162 Class::MOP::Method::Wrapped::__ANON__('MooseX::Method::Signatu +res::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $file, $fh) +', 'name', '_getfile_to_handle', 'package_name', 'Module::Reprove') c +alled at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line 91 MooseX::Method::Signatures::Meta::Method::wrap('MooseX::Method +::Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $f +ile, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Re +prove') called at C:/Perl64/site/lib/MooseX/Method/Signatures.pm line + 259 MooseX::Method::Signatures::_parser('MooseX::Method::Signature +s=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Method/Signat +ures.pm line 200 eval {...} called at C:/Perl64/site/lib/MooseX/Method/Signatur +es.pm line 200 MooseX::Method::Signatures::parser('MooseX::Method::Signatures +=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Declare/Syntax +/MethodDeclaration.pm line 51 MooseX::Declare::Syntax::MethodDeclaration::parse('MooseX::Dec +lare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'MooseX::Declare::Con +text=HASH(0x6a07528)') called at C:/Perl64/site/lib/MooseX/Declare/Sy +ntax/KeywordHandling.pm line 97 MooseX::Declare::Syntax::KeywordHandling::parse_declaration('M +ooseX::Declare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'C:/Perl64/ +site/lib/Module/Reprove.pm', 'HASH(0x62ba2d0)', 'method', 1) called a +t C:/Perl64/site/lib/MooseX/Declare/Syntax/KeywordHandling.pm line 51 MooseX::Declare::Syntax::KeywordHandling::__ANON__('method', 1 +) called at C:/Perl64/site/lib/Devel/Declare.pm line 274 Devel::Declare::linestr_callback('const', 'method', 1) called +at C:/Perl64/site/lib/Module/Reprove.pm line 109 require Module/Reprove.pm called at C:/Perl64/site/lib/App/Rep +rove.pm line 16 App::Reprove::BEGIN() called at C:/Perl64/site/lib/Module/Repr +ove.pm line 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 require App/Reprove.pm called at C:\test\Reprove.pl line 3 main::BEGIN() called at C:/Perl64/site/lib/Module/Reprove.pm l +ine 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 400 Class::MOP::Attribute::__ANON__('Could not generate inline rea +der because : Could not create w...') called at C:/Perl64/site/lib/Tr +y/Tiny.pm line 100 Try::Tiny::try('CODE(0x6c0f1b0)', 'Try::Tiny::Catch=REF(0x6c0f +0f0)') called at C:/Perl64/site/lib/Class/MOP/Attribute.pm line 401 Class::MOP::Attribute::_process_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C:/ +Perl64/site/lib/Moose/Meta/Attribute.pm line 1074 Moose::Meta::Attribute::_process_accessors('Moose::Meta::Attri +bute=HASH(0x6c0e7c0)', 'reader', 'variable_name', undef) called at C: +/Perl64/site/lib/Class/MOP/Attribute.pm line 428 Class::MOP::Attribute::install_accessors('Moose::Meta::Attribu +te=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Moose/Meta/Attribut +e.pm line 1013 Moose::Meta::Attribute::install_accessors('Moose::Meta::Attrib +ute=HASH(0x6c0e7c0)') called at C:/Perl64/site/lib/Class/MOP/Class.pm + line 891 Class::MOP::Class::__ANON__() called at C:/Perl64/site/lib/Try +/Tiny.pm line 76 eval {...} called at C:/Perl64/site/lib/Try/Tiny.pm line 67 Try::Tiny::try('CODE(0x6c0d430)', 'Try::Tiny::Catch=REF(0x6c08 +320)') called at C:/Perl64/site/lib/Class/MOP/Class.pm line 896 Class::MOP::Class::_post_add_attribute('Moose::Meta::Class=HAS +H(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C: +/Perl64/site/lib/Class/MOP/Mixin/HasAttributes.pm line 44 Class::MOP::Mixin::HasAttributes::add_attribute('Moose::Meta:: +Class=HASH(0x6c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') cal +led at C:/Perl64/site/lib/Moose/Meta/Class.pm line 570 Moose::Meta::Class::add_attribute('Moose::Meta::Class=HASH(0x6 +c0c648)', 'Moose::Meta::Attribute=HASH(0x6c0e7c0)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 152 Moose::Meta::Role::Application::ToClass::apply_attributes('Moo +se::Meta::Role::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta:: +Role::Composite=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648) +') called at C:/Perl64/site/lib/Moose/Meta/Role/Application.pm line 5 +8 Moose::Meta::Role::Application::apply('Moose::Meta::Role::Appl +ication::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Composite=HASH +(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl +64/site/lib/Moose/Meta/Role/Application/ToClass.pm line 36 Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::R +ole::Application::ToClass=HASH(0x6c0c318)', 'Moose::Meta::Role::Compo +site=HASH(0x6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)', 'HASH(0x +6c03318)') called at C:/Perl64/site/lib/Moose/Meta/Role.pm line 470 Moose::Meta::Role::apply('Moose::Meta::Role::Composite=HASH(0x +6c0c3d8)', 'Moose::Meta::Class=HASH(0x6c0c648)') called at C:/Perl64/ +site/lib/Moose/Util.pm line 163 Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x6c0c6 +48)', undef, 'Parse::Method::Signatures::Param::Bindable', 'Parse::Me +thod::Signatures::Param::Positional') called at C:/Perl64/site/lib/Mo +ose/Util.pm line 99 Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x6c0c64 +8)', 'Parse::Method::Signatures::Param::Bindable', 'Parse::Method::Si +gnatures::Param::Positional') called at C:/Perl64/site/lib/Moose/Meta +/Class.pm line 104 Moose::Meta::Class::create('Class::MOP::Class::Immutable::Moos +e::Meta::Class=HASH(0x6b2f580)', 'MooseX::Traits::__ANON__::SERIAL::2 +', 'superclasses', 'ARRAY(0x6a072e8)', 'roles', 'ARRAY(0x6a1fea0)', ' +cache', 1) called at C:/Perl64/site/lib/MooseX/Traits/Util.pm line 67 MooseX::Traits::Util::new_class_with_traits('Parse::Method::Si +gnatures::Param', 'Bindable', 'Positional') called at C:/Perl64/site/ +lib/MooseX/Traits.pm line 24 MooseX::Traits::with_traits('Parse::Method::Signatures::Param' +, 'Bindable', 'Positional') called at C:/Perl64/site/lib/MooseX/Trait +s.pm line 46 MooseX::Traits::new_with_traits('Parse::Method::Signatures::Pa +ram', 'traits', 'ARRAY(0x6bfabd8)', 'required', 1, 'type_constraints' +, 'Parse::Method::Signatures::TypeConstraint=HASH(0x6c0b9e8)', 'varia +ble_name', '$file', ...) called at C:/Perl64/site/lib/Parse/Method/Si +gnatures.pm line 113 Parse::Method::Signatures::create_param('Parse::Method::Signat +ures=HASH(0x6c08608)', 'HASH(0x6c085f0)') called at C:/Perl64/site/li +b/Parse/Method/Signatures.pm line 359 Parse::Method::Signatures::param('Parse::Method::Signatures=HA +SH(0x6c08608)') called at C:/Perl64/site/lib/Parse/Method/Signatures. +pm line 248 Parse::Method::Signatures::signature('Parse::Method::Signature +s', 'input', '(Str $file, $fh)', 'from_namespace', 'Module::Reprove') + called at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm + line 199 MooseX::Method::Signatures::Meta::Method::_build_parsed_signat +ure('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::parsed_signatur +e (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 36) line 7 MooseX::Method::Signatures::Meta::Method::parsed_signature('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 319 MooseX::Method::Signatures::Meta::Method::_build__positional_a +rgs('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') calle +d at reader MooseX::Method::Signatures::Meta::Method::_positional_arg +s (defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method +.pm line 62) line 7 MooseX::Method::Signatures::Meta::Method::_positional_args('Mo +oseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C: +/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 369 MooseX::Method::Signatures::Meta::Method::_build_type_constrai +nt('MooseX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called + at reader MooseX::Method::Signatures::Meta::Method::type_constraint +(defined at C:/Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.p +m line 81) line 7 MooseX::Method::Signatures::Meta::Method::type_constraint('Moo +seX::Method::Signatures::Meta::Method=HASH(0x6c0b7a8)') called at C:/ +Perl64/site/lib/MooseX/Method/Signatures/Meta/Method.pm line 174 Class::MOP::Class:::around('CODE(0x439bf08)', 'MooseX::Method: +:Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $fi +le, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Rep +rove', ...) called at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm +line 162 Class::MOP::Method::Wrapped::__ANON__('MooseX::Method::Signatu +res::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $file, $fh) +', 'name', '_getfile_to_handle', 'package_name', 'Module::Reprove') c +alled at C:/Perl64/site/lib/Class/MOP/Method/Wrapped.pm line 91 MooseX::Method::Signatures::Meta::Method::wrap('MooseX::Method +::Signatures::Meta::Method', 'CODE(0x5bab988)', 'signature', '(Str $f +ile, $fh)', 'name', '_getfile_to_handle', 'package_name', 'Module::Re +prove') called at C:/Perl64/site/lib/MooseX/Method/Signatures.pm line + 259 MooseX::Method::Signatures::_parser('MooseX::Method::Signature +s=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Method/Signat +ures.pm line 200 eval {...} called at C:/Perl64/site/lib/MooseX/Method/Signatur +es.pm line 200 MooseX::Method::Signatures::parser('MooseX::Method::Signatures +=HASH(0x6a07600)') called at C:/Perl64/site/lib/MooseX/Declare/Syntax +/MethodDeclaration.pm line 51 MooseX::Declare::Syntax::MethodDeclaration::parse('MooseX::Dec +lare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'MooseX::Declare::Con +text=HASH(0x6a07528)') called at C:/Perl64/site/lib/MooseX/Declare/Sy +ntax/KeywordHandling.pm line 97 MooseX::Declare::Syntax::KeywordHandling::parse_declaration('M +ooseX::Declare::Syntax::Keyword::Method=HASH(0x62b9cf8)', 'C:/Perl64/ +site/lib/Module/Reprove.pm', 'HASH(0x62ba2d0)', 'method', 1) called a +t C:/Perl64/site/lib/MooseX/Declare/Syntax/KeywordHandling.pm line 51 MooseX::Declare::Syntax::KeywordHandling::__ANON__('method', 1 +) called at C:/Perl64/site/lib/Devel/Declare.pm line 274 Devel::Declare::linestr_callback('const', 'method', 1) called +at C:/Perl64/site/lib/Module/Reprove.pm line 109 require Module/Reprove.pm called at C:/Perl64/site/lib/App/Rep +rove.pm line 16 App::Reprove::BEGIN() called at C:/Perl64/site/lib/Module/Repr +ove.pm line 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 require App/Reprove.pm called at C:\test\Reprove.pl line 3 main::BEGIN() called at C:/Perl64/site/lib/Module/Reprove.pm l +ine 109 eval {...} called at C:/Perl64/site/lib/Module/Reprove.pm line + 109 Compilation failed in require at C:/Perl64/site/lib/App/Reprove.pm lin +e 16. BEGIN failed--compilation aborted at C:/Perl64/site/lib/App/Reprove.pm + line 16. Compilation failed in require at C:\test\Reprove.pl line 3. BEGIN failed--compilation aborted at C:\test\Reprove.pl line 3.

If you need what Moose provides, and if it works, it's really cool. But it doesn't always work right, and when it doesn't, you are world of pain. Up shit creek without a paddle unless some one-of-the-four takes pity on you. And that is no way to make a living in this industry.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?

Replies are listed 'Best First'.
Re^9: Should I upload it on CPAN?
by stvn (Monsignor) on Mar 02, 2012 at 15:09 UTC
    With respect. Twaddle!

    You're welcome.

    Using the 300+ modules of Moose et. al.:

    You are in love with that number, but you and I both know you are manipulating it for effect. That is the number of individual PM files that it uses, not the number of modules that it installs. Also, Moose is only a small portion of that, MooseX::Declare and PPI play a large role in that list, neither of which are Moose. (no no, MooseX::Declare is not Moose, don't get me started on that).

    ... invoke LWP::Simple::get() on a list of files, write them to a temporary directory, and then invoke system to run a command; is an inappropriate use of abstraction. The creation of complexity from simplicity. In a word, overkill.

    Sure, thats fine, I won't really argue that point, but once again you seem to forget, Moose is not to blame for the overkill, the author is.

    Like hiring the Philharmonic Orchestra to play musak in your lift; using an 18-wheeler to fetch a pint of milk from the corner shop; deploying the Delta Force to remove a spider from your bath.

    1. World's most awesome elevator ride! (although perhaps a little crowded)
    2. Nothing says "cool" like a Big Rig! Thats a big 10-4 good buddy!
    3. Spiders are scary, THEY HAVE EIGHT EYES!!!!!!

    With regard to expertise: Still no one has stepped up to decipher this diarrhoea:

    Not publicly no, but honestly this is why I recommend against MooseX::Declare because it does f*cked up stuff like this to otherwise normal code.

    If you need what Moose provides, and if it works, it's really cool. But it doesn't always work right, and when it doesn't, you are world of pain. Up shit creek without a paddle unless some one-of-the-four takes pity on you. And that is no way to make a living in this industry.

    Wow, that is a pretty harsh words for which you have absolutely no basis. Moose works very well for hundreds, if not thousands of developers every day, if it was as fragile and dangerous as you think then it simply would not be being used.

    -stvn
      but you and I both know you are manipulating it for effect.

      No. I am not. It is derived exactly as you see it. (That's exactly why I posted the code showing how it was derived; so I could not be so accused.)

      Does it represent just that subset of the Moose* you (perhaps uniquely) know to be the body of Moose. Apparently not, (though how would I know?), it comes attached to a full spread of rutt-time antlers.

      I appreciate the distinction which you've made before, but just as the good bits of rap (some jazz-rap fusion is astonishingly good), have a hard time segregating themselves from the less salubrious parts of the genre, that distinction is a very hard line to draw when installing other people's packages.

      once again you seem to forget, Moose is not to blame for the overkill, the author is.

      Actually, you are forgetting that in this thread, I was not attacking Moose. I was attacking the overkill of its use for the module in question.

      ... awesome ... "cool" ... scary ...

      These words are not a part of my vocabulary when deciding the appropriateness of the use of technologies.

      Wow, that is a pretty harsh words ...

      When you step into a fight with all guns blazing, don't be surprised if the incumbents turn their firepower in your direction.

      ... for which you have absolutely no basis.

      And yet, there it is, and remains, unanswered: a 176 line error message.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.

      The start of some sanity?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://957369]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others romping around the Monastery: (4)
As of 2024-03-29 15:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found