为什么以下函数的类型为t - > (t - > t1) - > T1

时间:2016-07-31 12:35:16

标签: haskell functional-programming

rev a b = b a

我只是不明白,为什么这个函数有t -> (t -> t1) -> t1类型?

2 个答案:

答案 0 :(得分:5)

someCell.row = indexPath.row 是函数b a在参数b中的应用。这就是编译器可以推断出aa是什么的所有内容,因此它将名称bt分配给该函数的参数类型和返回该函数的类型,并说t1接受一个参数和一个接受该参数并返回应用程序结果的函数。

答案 1 :(得分:1)

从右侧开始:您将a应用于b - 因此b需要成为一个函数( 有一些类型{{ 1}})类型(让我们称之为a -> b)和b :: t -> t1必须与此兼容 - 这意味着a

如果显然a :: t的密码域(此处为b),则不会显示结果类型