Arithmetic evaluation: Difference between revisions
Content deleted Content added
SqrtNegInf (talk | contribs) m →{{header|Perl 6}}: flat before reduction |
|||
Line 3,557: | Line 3,557: | ||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |
||
{{ |
{{Works with|rakudo|2015.12}} |
||
{{broken|Perl 6}} |
|||
<lang perl6>sub ev (Str $s --> Num) { |
<lang perl6>sub ev (Str $s --> Num) { |
||
Line 3,575: | Line 3,574: | ||
my sub sum ($x) { |
my sub sum ($x) { |
||
[+] product($x<product>), map |
[+] flat product($x<product>), map |
||
{ minus($^y[0] eq '-') * product $^y<product> }, |
{ minus($^y[0] eq '-') * product $^y<product> }, |
||
|($x[0] or []) |
|($x[0] or []) |
||
Line 3,581: | Line 3,580: | ||
my sub product ($x) { |
my sub product ($x) { |
||
[*] factor($x<factor>), map |
[*] flat factor($x<factor>), map |
||
{ factor($^y<factor>) ** minus($^y[0] eq '/') }, |
{ factor($^y<factor>) ** minus($^y[0] eq '/') }, |
||
|($x[0] or []) |
|($x[0] or []) |