Functional programming 一种函数式编程语言,其高阶函数类似于Haskell';她没有结婚

Functional programming 一种函数式编程语言,其高阶函数类似于Haskell';她没有结婚,functional-programming,programming-languages,Functional Programming,Programming Languages,有没有函数式编程语言的函数不是自动生成的,它有一个内置的或库的高阶函数,该函数采用(AxB)->C形式,并返回一个(BxA)->C形式的等价函数?这类似于Haskell的flip函数。实现flip不需要使用curry。下面是Scala中的一个实现: def flip[A,B,C](f:(A,B)=>C):(B,A)=>C=(B:B,A:A)=>f(A,B) 是否“内置”是另一个问题。在函数式编程中,这并不重要。如果不使用咖喱,它也没有那么有用,因为通常你需要使用翻转,以使作文顺利进行。在第26

有没有函数式编程语言的函数不是自动生成的,它有一个内置的或库的高阶函数,该函数采用(AxB)->C形式,并返回一个(BxA)->C形式的等价函数?这类似于Haskell的flip函数。

实现
flip
不需要使用curry。下面是Scala中的一个实现:

def flip[A,B,C](f:(A,B)=>C):(B,A)=>C=(B:B,A:A)=>f(A,B)
是否“内置”是另一个问题。在函数式编程中,这并不重要。如果不使用咖喱,它也没有那么有用,因为通常你需要使用
翻转
,以使作文顺利进行。

在第26页的1.4中,咖喱版本的函数称为“交换”

swap: Π(A:U)Π(B:U)Π(C:U) (A -> B -> C) -> (B -> A -> C)

swap(A, B, C, g)(b, a) := λb.λa.g(a)(b)

我不知道你为什么想为未结婚的版本另起一个名字,到底有什么区别…

这样的问题是。请考虑在那边问。@科斯提克斯:我会问R /编程,虽然我不知道什么是关于我的问题的话题。请让我知道,这样我以后就不会问离题题的问题了?标题为“有些问题仍然离题,即使它们属于上面列出的类别之一:”的第4点,在“主题内容”文档中。也可能是第5点。一般的想法是,对于范围狭窄的技术问题也是如此。他们可能会使用一种编程语言或与软件开发相关的工具,但他们的范围仍然很窄,而且必须切中要害。谢谢。然而,问题的关键正是找到这样一个操作符的内置或标准库实现,因为我正在为这个操作符寻找一个标准名称。我不想给这个操作符起个名字,如果它已经被广泛使用的话。@EvanAad“flip”怎么了<代码>翻转(f)(y,x)=f(x,y)
。语言是非咖喱的,参数仍然是翻转的。@WillNess:我想区分咖喱翻转函数和非咖喱翻转函数。@EvanAad所以是函数而不是语言?那就更简单了:答案是Haskell的
uncurry flip
@WillNess:我更喜欢“swap”和“flip”。