Why are ↗, ↖ not useable as Binary infix operators?

It seems to be possible to define all sorts of binary infix operators, like ∨, ⋖, ⋗, ⊴ work fine.

But why can’t I assign ↗, ↖ as binary infix operators? they are \nearrow and \nwarrow.

For example, in my Dendriform.jl package:

julia> [1,2,3] ⋖ [1,3,1]
true

julia> [1,2,3] ↗ [3,2,1]
ERROR: syntax: extra token "↗" after end of expression
Stacktrace:
 [1] macro expansion at ./REPL.jl:97 [inlined]
 [2] (::Base.REPL.##1#2{Base.REPL.REPLBackend})() at ./event.jl:73

Allowed infix operators are pre-defined, I think it is this: https://github.com/JuliaLang/julia/blob/4aa4652974646bad0d9f4a3e18b4f0ea3aa1443f/src/julia-parser.scm

1 Like

See:
https://github.com/JuliaLang/julia/issues/23224
We’d eventually like to allow this, but the basic problem is that we haven’t decided what precedence to use for things like . (The precedence of an operator is set in the parser and needs to be decided more or less permanently. It is difficult to decide what to do with Unicode symbols that don’t have a standard mathematical meaning.)

5 Likes