interaction of custom operators and infix macros
Realized as I was typing up docs for custom operators that we currently have a problem with composing infix macros and custom operators. Example:
operator (>>=) 16 left { $left, $right } => #{ $left.then($right) }
macro => {
rule infix { ($params ...) | { $body ... } } => {
function inner($params ...) { $body ... }
}
}
foo >>= (x) => {
return unit(x + 1);
}
// error `=>` cannot be matched...
I think this is the same problem @natefaubion ran into with assignment and infix macros which was solved by enforesting until a fixed point was reached right? The same solution should work here?