函数名中的问号

Xla*_*ech 4 haskell

我只是在查看 clojure 并在示例页面上找到了以下代码行

(filter even? [1 2 3])
Run Code Online (Sandbox Code Playgroud)

虽然这是相当标准的代码,但令我惊讶的是,他们使用了“?” 使谓词更容易阅读。

是否也可以让 haskell 接受它作为函数名称?到目前为止,我发现https://wiki.haskell.org/Unicode-symbols不幸的是不包含“?”。

che*_*ner 6

不要这样做。

\n\n

Gross hack:?不是有效的标识符字符,但\xca\x94确实是。

\n\n

不要使用以下内容。

\n\n
even\xca\x94 :: Num a => a -> Bool\neven\xca\x94 0 = True\neven\xca\x94 1 = False\neven\xca\x94 n = even\xca\x94 (n - 2)\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xca\x94当然,是U+0294拉丁字母GLOTTAL STOP,除了外观之外,它与U+003F问号完全无关。)

\n\n

我有没有提到过你不应该这样做?

\n