Tag: 柯里化

有一种方法可以在C中进行curl吗?

假设我有一个指向函数_stack_push(stack* stk, void* el)的指针。 我希望能够调用curry(_stack_push, my_stack)并取回一个只需要void* el的函数。 我想不出有办法做到这一点,因为C不允许运行时函数的定义,但我知道在这里有比我更聪明的人:)。 有任何想法吗?

Java是否支持Currying?

我想知道是否有任何方式来拉动Java。 我认为,如果没有本地支持封锁,这是不可能的。

JavaScript咖喱:实际应用有哪些?

我不认为我还喜欢咖喱。 我明白它做了什么,以及如何去做。 我无法想象我会使用它的情况。 你在哪里使用JavaScript的currying(或哪里是使用它的主要库)? DOM操作或一般应用程序开发示例欢迎。 其中一个答案提到animation。 像slideUp , fadeIn这样的函数将一个元素作为参数,通常是一个curry函数,返回高阶函数的默认“animation函数”内置。 为什么比仅仅应用具有一些默认值的高级函数更好? 使用它有什么缺点吗? 正如这里所要求的,在JavaScript currying上有一些很好的资源: http://www.dustindiaz.com/javascript-curry/ Crockford,Douglas(2008) JavaScript:The Good Parts http://www.svendtofte.com/code/curried_javascript/ (绕过ML,跳过“ML中的速成课程”中的整个部分,然后从“如何编写curried JavaScript”开始) http://blog.morrisjohns.com/javascript_closures_for_dummies JavaScriptclosures如何工作? http://ejohn.org/blog/partial-functions-in-javascript(Resig先生关于平时的钱) http://benalman.com/news/2010/09/partial-application-in-javascript/ 我会在评论中增加更多。 所以,根据这个答案,一般的咖啡和部分应用都是便利的技术。 如果通过调用相同的configuration来频繁“提炼”高级函数,则可以使用高级函数来创build简单,简洁的辅助方法(或使用Resig的部分)。

柯里化和部分应用有什么区别?

我经常在互联网上看到各种各样的抱怨,其他民族的咖喱例子不是咖喱,而是实际上只是部分的应用。 我还没有find一个适当的部分应用程序的解释,或者它不同于咖喱。 似乎有一个普遍的混乱,相当的例子被描述为在一些地方curl,部分适用于其他地方。 有人能给我提供这两个术语的定义,以及它们有何不同的细节?

什么是“Currying”?

我已经在几篇文章和博客中看到了curried函数的引用,但我找不到一个好的解释(或者至less有一个是合理的!)