函数类型与类型变量的等价性

时间:2011-05-16 17:53:54

标签: function haskell types

我需要一个具有以下属性的函数。

  

(C-> d) - >(A-> B-&℃) - > A-> B-> d

我的职能:

funktionD =(。)。 (。)

但是:t funktionD

  

funktionD ::(a - > b) - > (c - > d - > a) - > c - > d - > B'/ P>

这等于吗?

2 个答案:

答案 0 :(得分:4)

是的。类型变量 - 用小写字母表示 - 只是变量。只要模式相同的变量保持不变,您就可以重命名它们。

此外,由于基本相同的原因,对于您给出的类型签名,该类型只有一个可能的函数(不包括崩溃或进入无限循环的函数)。需要考虑的事情!

答案 1 :(得分:2)

我认为是。用c替换a(反之亦然),然后用d代替b(反之亦然),它们是相同的。

相关问题