Haskell讨论它的功能。虽然Clojure允许partial
和函数宏作为执行相同操作的可比方法,但它不会。
我以为我记得听过/读过希基的决定背后的原因。有人回忆起那个原因是什么,或者我在哪里可以找到它?
我希望从理由中学到一些东西。
答案 0 :(得分:26)
由于函数可以有多个arities,因此可以直接调用函数而不是currying函数。接下来,如果你只有一个arity,并且你错过了一个参数,则不会检测到arity错误,而是生成currying函数。一个非常糟糕和难以调试的情况,特别是如果函数返回一个具有相同问题arity的函数,或者函数作为参数传递给另一个函数。
因此,专门创建一个currying函数似乎是合法的。