1

假设 Haskell 或 lambda 演算呈现以下函数类型:

A -> B -> C

(A -> B) -> C

这两者有何不同?

4

2 回答 2

4

第一个是函数 from Ato a(函数 from Bto C)。第二个是从 (functions from Ato B) to的函数C。第一个“接受两个论点”,第二个“接受一个论点”。第一个是普通函数,第二个是“高阶函数”。

于 2013-02-25T04:56:19.897 回答
0

以下是您的类型的两个示例函数,可帮助您了解它们的不同之处:

valatzero :: Num a => (a -> t) -> t
valatzero f = f 0

plus :: Num a => a -> a -> a
plus x y = x + y
于 2013-02-25T04:42:46.307 回答