如何找出运算符“ +”的类型?

Tim*_*Tim 4 haskell

在GHCi版本8.6.3(https://repl.it/languages/haskell)中,我想知道如何找出运算符“ +”的类型。我想看看它的类型是num a, b,c => a -> b -> c还是num a, b,c => (a,b) -> c

但是我找不到它的类型。它还以未知方式影响下一个表达式。为什么我失败了,我该怎么办?

   :type +
   :type not
<interactive>:1:1: error: parse error on input ‘+’
   :type not
not :: Bool -> Bool
=> "12"
Run Code Online (Sandbox Code Playgroud)

Wil*_*ess 6

这条路:

> :type (+)
(+) :: Num a => a -> a -> a
Run Code Online (Sandbox Code Playgroud)

并且

> :t (+) 4
(+) 4 :: Num a => a -> a

> :t (+) 4 3
(+) 4 3 :: Num a => a
Run Code Online (Sandbox Code Playgroud)

  • @Tim`+`在Haskell中不是有效的表达式,因此没有类型。 (4认同)
  • @Tim高级用户经常变得草率,因为对于他们来说,有些想法是如此自动,以至于不清楚如何混淆它们,例如术语“功能”和“标识符”。相对而言,我本人会称之为“ +”函数,因为当它们不重要时,总是会画出所有这些细微的区别……但是当您是初学者时,它们对于理解事物可能非常重要。 ! (4认同)
  • @Tim`+`是一个标识符。(我看不出有什么能对您有所帮助的信息,或者您想学习的内容,所以恐怕我只能在回答您在此处提出的确切问题之前进一步扩展自己的知识。) (2认同)