1 haskell types type-signature
为什么Haskell不使用某种特殊格式来反映这一点,或者 - > c可以用另一种方式理解?
您可以通过两种方式查看babel的类型签名.
babel采用类型的两个输入a和b; 它产生一个类型的输出c.babel接受类型的输入a并产生类型的输出(b -> c). (1)为您提供了背式的值c与babel充分的应用.(2)给你回类型的中间功能(b -> c)与babel部分地施加; 如果您选择将中间函数应用于类型的值b,则可以获得从案例(1)获得的结果.
这种选择部分或完全应用函数的能力使您能够通过将简单(中间)函数粘合在一起来构建复杂函数.
为什么Haskell不使用某种特殊格式来反映这一点......?
默认情况下,Haskell中的所有函数都接受一个输入; 两个参数的函数只是一个返回函数的函数.默认情况下,Currying在类型签名中已经很明显.这就是为什么要(->)联合到右边,所以我们不必写babel :: a -> (b -> c)