Tropical algebra overloading: Difference between revisions

Content added Content deleted
m (→‎{{header|Raku}}: more fully implement ↑ as serial ⊗ (as task suggests))
m (→‎{{header|Raku}}: reduce noise)
Line 602: Line 602:


=={{header|Raku}}==
=={{header|Raku}}==
No need to overload, just define our own operators with whatever precedence level we want. Here, we're just setting precedence equivalent to an existing operator.
No need to overload, define our own operators with whatever precedence level we want. Here we're setting precedence equivalent to existing operators.


<lang perl6>sub infix:<⊕> (Real $a, Real $b) is equiv(&[+]) { $a max $b }
<lang perl6>sub infix:<⊕> (Real $a, Real $b) is equiv(&[+]) { $a max $b }
sub infix:<⊗> (Real $a, Real $b) is equiv(&[*]) { $a + $b }
sub infix:<⊗> (Real $a, Real $b) is equiv(&[×]) { $a + $b }
sub infix:<↑> (Real $a, Int $b) is equiv(&[**]) { [⊗] $a xx $b }
sub infix:<↑> (Real $a, Int $b) is equiv(&[**]) { [⊗] $a xx $b }