in reply to Re^3: 0**0
in thread order of arguments evaluated

It is ugly because it is ambiguous, convention not withstanding. You can artifically declare one interpretation to be the preferred one, but it will still be artificial. Here's a program for you to run...
#!/usr/bin/perl -w print "\n n| n^0.1 n^0.01 n^0.001 etc...\n"; print ("--+".("-" x 70)."\n"); for my $num (reverse 0..10) { printf "%2d| ", $num; for my $exp (1..10) { printf "%5.4f ", $num ** (10**(-$exp)); } print "\n"; }
Notice any tendencies? Is the case for zero different in any way? Explain.
n| n^0.1 n^0.01 n^0.001 etc... --+------------------------------------------------------------------ 10| 1.2589 1.0233 1.0023 1.0002 1.0000 1.0000 1.0000 1.0000 1.0000 9| 1.2457 1.0222 1.0022 1.0002 1.0000 1.0000 1.0000 1.0000 1.0000 8| 1.2311 1.0210 1.0021 1.0002 1.0000 1.0000 1.0000 1.0000 1.0000 7| 1.2148 1.0196 1.0019 1.0002 1.0000 1.0000 1.0000 1.0000 1.0000 6| 1.1962 1.0181 1.0018 1.0002 1.0000 1.0000 1.0000 1.0000 1.0000 5| 1.1746 1.0162 1.0016 1.0002 1.0000 1.0000 1.0000 1.0000 1.0000 4| 1.1487 1.0140 1.0014 1.0001 1.0000 1.0000 1.0000 1.0000 1.0000 3| 1.1161 1.0110 1.0011 1.0001 1.0000 1.0000 1.0000 1.0000 1.0000 2| 1.0718 1.0070 1.0007 1.0001 1.0000 1.0000 1.0000 1.0000 1.0000 1| 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0| 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000