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|#22 "Thousand Oaks"}}
{{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 [])