假设Haskell或lambda演算提供以下函数类型:
A - > B - > ç
(A - > B) - > ç
这两者有何不同?
答案 0 :(得分:3)
第一个是从A
到a(从B
到C
的函数)的函数。第二个是函数(从A
到B
)到C
的函数。第一个“带两个参数”,第二个“带一个参数”。第一个是正常函数,第二个是“高阶函数”。
答案 1 :(得分:0)
以下是您的类型的两个示例函数,可帮助您了解这些函数的不同之处:
valatzero :: Num a => (a -> t) -> t
valatzero f = f 0
plus :: Num a => a -> a -> a
plus x y = x + y