Author: lwall Date: 2009-11-18 19:51:35 +0100 (Wed, 18 Nov 2009) New Revision: 29128

Modified: docs/Perl6/Spec/S02-bits.pod Log: [S02] more Rat-to-Str fine-tuning wrt negative denominators Modified: docs/Perl6/Spec/S02-bits.pod =================================================================== --- docs/Perl6/Spec/S02-bits.pod 2009-11-18 18:05:37 UTC (rev 29127) +++ docs/Perl6/Spec/S02-bits.pod 2009-11-18 18:51:35 UTC (rev 29128) @@ -708,9 +708,10 @@ represent, say, dollars and cents, the denominator may stay 100 the entire way through. The C<.nu> and C<.de> methods will return these unreduced values. You can use C<$rat.=norm> to normalize the fraction. +(This also forces the sign on the denominator to be positive.) The C<.perl> method will produce a decimal number if the denominator is a power of 10, or normalizable to a power of 10 (that is, having factors -of only 2 and 5). Otherwise it will normalize and return a rational +of only 2 and 5 (and -1)). Otherwise it will normalize and return a rational literal of the form C<-47/3>. Stringifying a rational does a similar calculation, with the same result on decimal-normalizable fractions, but where C<.perl> would produce the C<-47/3> form, stringification instead @@ -2864,7 +2865,12 @@ The purpose of this would be to facilitate compile-time analysis of multi-method dispatch, when the user prefers angle notation as the most readable way to represent a list of numbers, which it often is. +It also gives us a reasonable way of visually isolating any known +literal format as a single syntactic unit: + <-1+2i>.polar + (-1+2i).polar # same, but less clearly a literal + The degenerate case C<< <> >> is disallowed as a probable attempt to do IO in the style of PerlĀ 5; that is now written C<lines()>. (C<< <STDIN> >> is also disallowed.) Empty lists are better written with