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]

julia> [1,2,3] ↗ [3,2,1]
ERROR: syntax: extra token "↗" after end of expression
 [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


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.)

New idea: importable operators