/usr/lib/perl5/Data/Util/Curry.pod is in libdata-util-perl 0.62-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | =head1 NAME
Data::Util::Curry - Curries functions and methods
=head1 SYNOPSIS
use feature 'say';
use Data::Util qw(curry);
sub sum{
my $total = 0;
for my $x(@_){
$total += $x;
}
return $total;
}
# placeholder "\0" indicates a subscript of the arguments
say curry(\&add, \0, 42)->(10); # 52
# placeholder "*_" indicates all the arguments
say curry(\&add, *_)->(1 .. 10); # 55
# two subscripts and the rest of the arguments
say curry(\&add, *_, \1, \0)->(1 .. 5); # 3 + 4 + 5 + 1 + 2
=head1 DESCRIPTION
(todo)
=head1 EXAMPLES
=head2 Currying Functions
curry(\&f, \0, 2)->(1); # f(1, 2)
curry(\&f, 3, \0)->(4); # f(3, 4)
curry(\&f, *_)->(5, 6); # f(5, 6)
curry(\&f, \0, \1, *_)->(1, 2, 3, 4); # f(1, 2, 3, 4)
curry(\&f, *_, \0, \1)->(1, 2, 3, 4); # f(3, 4, 1, 2)
=head2 Currying Methods
curry($obj, 'something', *_)->(1, 2); # $obj->something(1, 2)
curry($obj, 'something',
foo => \0,
bar => \1)->(1, 2); # $obj->something(foo => 1, bar => 2)
curry(\0, 'something', \1)->($obj, 42); # $obj->something(42)
curry($obj, \0, *_)->('something', 1, 2); # $obj->something(1, 2)
=head2 Argument Semantics
sub incr{ $_[0]++ }
my $i = 0;
curry(\&incr, \0)->($i); # $i++
curry(\&incr, *_)->($i); # $i++
curry(\&incr, $i)->(); # $i++
=head1 SEE ALSO
L<Data::Util>.
=cut
|