rev a b = b a
我只是不明白,为什么这个函数有t -> (t -> t1) -> t1
类型?
答案 0 :(得分:5)
someCell.row = indexPath.row
是函数b a
在参数b
中的应用。这就是编译器可以推断出a
和a
是什么的所有内容,因此它将名称b
和t
分配给该函数的参数类型和返回该函数的类型,并说t1
接受一个参数和一个接受该参数并返回应用程序结果的函数。
答案 1 :(得分:1)
从右侧开始:您将a
应用于b
- 因此b
需要成为一个函数( 有一些类型{{ 1}})类型(让我们称之为a -> b
)和b :: t -> t1
必须与此兼容 - 这意味着a
如果显然a :: t
的密码域(此处为b
),则不会显示结果类型