use Perl6::Currying; sub add($a,$b) { $a + $b }; my $incr = prebind &add: b=>1; print $incr->(7), "\n"; my $div = sub ($x, $y) { $x / $y }; print $div->(22,7), "\n"; my $half_of = prebind &$div: y=>2; my $reciprocal = prebind $div: (x=>1); print $half_of->(7), "\n"; print $reciprocal->(7), "\n"; my $pi_ish = prebind &$div: y=>7, x=>22; print $pi_ish->(), "\n"; my $one_half = prebind &{$half_of}: (x=>1); print $one_half->(), "\n"; sub getdiv { return $div }; my $tenth = prebind &{getdiv()}: y=>10; print $tenth->(7), "\n"; eval { my $bad = prebind $div: (q=>'???') } or print $@;