Rich Hickey 不自动套用 Clojure 函数的原因?
Rich Hickey's reason for not auto-currying Clojure functions?
Haskell 柯里化其功能。 Clojure 不允许 partial
和函数宏作为执行相同操作的类似方法。
我想我记得 hearing/reading 希基做出决定的原因。有人记得那个原因是什么或者我在哪里可以找到它吗?
我希望从原理中学到一些东西。
由于函数可以有多个参数,您可以直接调用函数而不是柯里化函数。接下来,如果你只有一个元数,而你错过了一个参数,则不会检测到元数错误,而是生成一个柯里化函数。一个非常糟糕且难以调试的情况,特别是如果函数 returns 具有相同要求参数的函数,或者如果函数作为参数传递给另一个函数。
所以专门创建一个柯里化函数似乎是合法的。
Haskell 柯里化其功能。 Clojure 不允许 partial
和函数宏作为执行相同操作的类似方法。
我想我记得 hearing/reading 希基做出决定的原因。有人记得那个原因是什么或者我在哪里可以找到它吗?
我希望从原理中学到一些东西。
由于函数可以有多个参数,您可以直接调用函数而不是柯里化函数。接下来,如果你只有一个元数,而你错过了一个参数,则不会检测到元数错误,而是生成一个柯里化函数。一个非常糟糕且难以调试的情况,特别是如果函数 returns 具有相同要求参数的函数,或者如果函数作为参数传递给另一个函数。
所以专门创建一个柯里化函数似乎是合法的。