为什么〉不能作为Haskell中缀运算符?

5
为什么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 (12)

根据Haskell报告的规定,任何Unicode符号或标点符号,以及这个问题的解答中所述,都应可行。


1
虽然我认为我曾经尝试过将 变成中缀,但我敢说这只是一个坏主意。更有意义的做法是允许像 这样的符号作为自定义准引用字符。 - leftaroundabout
1个回答

7
这可能是一个bug。似乎不允许任何被generalCategory标记为ClosePunctuationOpenPunctuation的字符。建议您在GHC Trac上开个票,看看他们的想法。https://ghc.haskell.org/trac/ghc/ticket/2687看起来相关,并且表明至少在某些时候,OpenPunctuationClosePunctuation被认为是图形而不是符号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接