9 my $deparser = B::RecDeparse->new(deparse => [ '-sCi0v1' ], level => 1);
12 return unless defined $_[0] and ref $_[0] eq 'CODE';
13 my $deparsed = $deparser->coderef2text($_[0]);
14 print STDERR "$deparsed\n";
15 my $code = eval 'sub ' . $deparsed;
20 sub add ($$) { $_[0] + $_[1] }
22 sub mul ($$) { $_[0] * $_[1] }
24 sub fma ($$$) { add +(mul $_[0], $_[1]), $_[2] }
26 print STDERR '### ', fma(1, 3, 2), "\n";
27 my $sfma = spec sub { my $x = \&mul; fma $_[0], 3, $_[1] };
28 print STDERR '### ', $sfma->(1, 2), "\n";