为什么不允许作为 Haskell 中缀运算符?
Why isn't 〉allowed as a Haskell infix operator?
为什么在 Haskell 中不允许 > 作为中缀运算符?
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help
Prelude> :{
infixr 6 〉
(〉) :: Int -> (Int -> (Int))
a 〉 b = a + 2*b
:}
print (1 〉 2)
根据这个 Haskell Report any Unicode symbol or punctuation
and this question 它应该有效。
这可能是一个错误。它似乎不允许 generalCategory
标记为 ClosePunctuation
或 OpenPunctuation
的任何字符。我建议你在 GHC Trac 上开个票,看看他们怎么想。
https://ghc.haskell.org/trac/ghc/ticket/2687 看起来相关,并表明至少在某些时候 OpenPunctuation
和 ClosePunctuation
被认为是图形而不是符号。
为什么在 Haskell 中不允许 > 作为中缀运算符?
GHCi, version 8.0.2: http://www.haskell.org/ghc/ :? for help
Prelude> :{
infixr 6 〉
(〉) :: Int -> (Int -> (Int))
a 〉 b = a + 2*b
:}
print (1 〉 2)
根据这个 Haskell Report any Unicode symbol or punctuation
and this question 它应该有效。
这可能是一个错误。它似乎不允许 generalCategory
标记为 ClosePunctuation
或 OpenPunctuation
的任何字符。我建议你在 GHC Trac 上开个票,看看他们怎么想。
https://ghc.haskell.org/trac/ghc/ticket/2687 看起来相关,并表明至少在某些时候 OpenPunctuation
和 ClosePunctuation
被认为是图形而不是符号。