sub head { $_[0]->[0] }
sub tail { [ @{$_[0]}[ 1 .. $#{$_[0]} ] ] }
-sub at {
- my ($array, $index) = @_;
- $array->[$index];
-}
-
-sub put {
- my ($array, $index, $value) = @_;
- $array->[$index] = $value;
-}
-
sub length {
my ($array) = @_;
CORE::scalar @$array;
[ CORE::sort { $sub->($a, $b) } @$array ];
}
-# ::Value requirement
+## ::Indexed implementation
-sub print { CORE::print @{$_[0]} }
+sub at {
+ my ($array, $index) = @_;
+ $array->[$index];
+}
-## ::Indexed implementation
+sub put {
+ my ($array, $index, $value) = @_;
+ $array->[$index] = $value;
+}
sub exists {
my ($array, $index) = @_;
=head1 DESCRIPTION
+This is a role to describe operations on the Array type.
+
+=head1 METHODS
+
+=over 4
+
+=item B<meta>
+
+=item B<pop>
+
+=item B<push>
+
+=item B<shift>
+
+=item B<unshift>
+
+=item B<delete>
+
+=item B<sprintf>
+
+=back
+
+=head2 Moose::Autobox::Indexed implementation
+
+=over 4
+
+=item B<at>
+
+=item B<put>
+
+=item B<exists>
+
+=item B<keys>
+
+=item B<kv>
+
+=item B<values>
+
+=back
+
+=head2 Moose::Autobox::List implementation
+
+=over 4
+
+=item B<head>
+
+=item B<tail>
+
+=item B<join>
+
+=item B<length>
+
+=item B<map>
+
+=item B<grep>
+
+=item B<reverse>
+
+=item B<sort>
+
+=back
+
=head1 BUGS
All complex software has bugs lurking in it, and this module is no