【发布时间】:2017-11-24 22:35:19
【问题描述】:
我是 SML(元语言)的新手。 谁能告诉我如何从下面给出的类型派生函数: ('a -> 'b) -> ('b 列表 -> 'c) -> 'a -> 'c 列表
我很难理解 SML 中的柯里化函数。
【问题讨论】:
-
你能澄清一下这个问题吗?具有这种类型的函数数不胜数。你不能给出一个类型然后说“给出具有这种类型的函数”。它们的数量是无限的。不过,走另一条路是可行的。如果你用 SML 写一个函数,那么你可以计算它的类型。也许您正在寻找该类型的 a 函数?你问的是这个吗?
-
嗨@RayToal,确实是的。它可以是任何函数,只要它满足这种类型。另外,如果你能解释一下如何从它的类型中推断出函数,那就太好了。
-
我可以看到有三种不同的类型: 'a 'b 'c 我可以这样写: fun foo a b c = b [a c];这不正确,但可能是这样的?
-
是的,非常接近(从下面的答案中可以看出)。伟大的开始!