阅读类型签名:类型构造函数和函数优先级

Reading Type Signature: Type Constructor & Function Precedence

上下文

makeAff ∷ ∀ eff a. ((Either Error a → Eff eff Unit) → Eff eff (Canceler eff)) → Aff eff a

https://github.com/slamdata/purescript-aff/blob/master/src/Control/Monad/Aff.purs#L365

问题

Either Error a → Eff eff Unit

是否应将其解读为...

  1. Errora → Eff eff Unit
  2. Either
  3. 一个接受 Either Error a 和 returns Eff eff Unit
  4. 的函数

?

是否有特定的类型中缀优先级?

应用程序(空格)在 Haskell 中的优先级最高 "operator" 而 -> 是最低的。