【发布时间】:2014-03-02 19:31:28
【问题描述】:
我是 Haskell 和函数式编程的新手,我无法弄清楚为什么要使用的类型签名
t2 = (\x y z a -> ((x.y) z, (y.x) z))
看起来像这样:
t2 :: (a -> a) -> (a -> a) -> a -> b -> (a,a)
你能告诉我它是如何工作的吗?
问候
【问题讨论】:
-
这确实应该是许多关于语法和类型推断的每个部分的单独问题,您会感到困惑。 Lambda 表示法 (
\a -> b) 与函数应用 (f x) 和函数组合 (x . y,这实际上只是一种函数应用) 以及读取 eta-reduced 的函数 (plus = (+)vs @ 987654325@).
标签: haskell functional-programming evaluate type-signature