Haskell中的中缀函数是否有类型表达式?

Jus*_*ong 1 haskell

例如,++本质上是一个函数.我希望当我输入:t ++:t prefixName我将获得一个类型表达式,但我收到一个解析错误.是否有一个前缀++或是否有一个特殊的方法来调用:t中缀函数.

drR*_*rtz 12

是的,中缀函数是函数,但要与它们一起使用,:t需要将其写为普通前缀函数:

:t (++)
Run Code Online (Sandbox Code Playgroud)

这使

(++) :: [a] -> [a] -> [a]
Run Code Online (Sandbox Code Playgroud)

这是haskell语法的一部分.要将中缀函数转换为前缀,请用parens包围它,例如,

(+) 1 2
Run Code Online (Sandbox Code Playgroud)

相当于

1 + 2 
Run Code Online (Sandbox Code Playgroud)

相反,普通前缀函数可以通过用反引号包围它来使用,例如,

reverse `map` ["hello","world"]
Run Code Online (Sandbox Code Playgroud)

是相同的

map reverse ["hello","world"]
Run Code Online (Sandbox Code Playgroud)