【发布时间】:2018-01-14 02:25:58
【问题描述】:
我正在尝试定义以下函数的多态类型:
flip f x y = f y x
我的想法如下:
flip的第一个参数,f接受两个参数,所以(t1 -> t2 -> t3)flip的第二个参数,x的类型为t1,因为参数t1f函数内部。flip的第三个参数,y是t3类型,因为参数t3>f函数内部。不知道整体返回的多态类型。
但是当我检查 ghci 中的类型时,我得到:
flip :: (t2 -> t1 -> t) -> t1 -> t2 -> t
有人可以帮忙看看这个例子是什么吗?
谢谢
【问题讨论】:
-
这显然是在翻转你提供给它的函数的参数,该函数采用
t2和t1类型的函数,方法是返回采用t1和t2类型的相同函数按顺序..
标签: function haskell types polymorphism polymorphic-functions