Functional programming 函数组合中参数顺序特征的术语

Functional programming 函数组合中参数顺序特征的术语,functional-programming,terminology,function-composition,Functional Programming,Terminology,Function Composition,在functional compositiong Composite f中,使用哪些术语来表示和区分传递给复合运算符的函数参数f和g的排序属性?例如,给定以下组合 val reverse = (s: String) => s.reverse val dropThree = (s: String) => s.drop(3) (reverse compose dropThree)("Make it so!") // ==> !os ti e: java.lang.String (

在functional composition
g Composite f
中,使用哪些术语来表示和区分传递给复合运算符的函数参数
f
g
的排序属性?例如,给定以下组合

val reverse = (s: String) => s.reverse
val dropThree = (s: String) => s.drop(3)

(reverse compose dropThree)("Make it so!") // ==> !os ti e: java.lang.String
(dropThree compose reverse)("Make it so!") // ==> ti ekaM: java.lang.String
什么术语使显式
反向
出现在之后

reverse compose dropThree
当它在

dropThree compose reverse
在过去,他们似乎认为这样精确的术语还没有出现

…我的目标是与除法或减法进行类比:例如,你可以 例如,调用外部函数composer和内部函数 组合和。像这样的词(据我所知)并不常用, 也许是因为对它们的需求不像对它们的需求那样频繁 基本算术运算

然而,在软件工程世界中,组合、链接、管道等似乎无处不在,并且是函数式编程的基本要素,因此应该存在精确的术语来描述组合中涉及的操作数的关键排序属性


请注意,问题后面的术语专门指组合的特定参数,而不是整个表达式,类似于除数和被除数,精确地描述除法中的哪个是哪个。

我认为没有任何正式的术语,但我会表示
a∘ b
λx.a(b(x))
)作为

  • a
    b
  • a
    b
  • a
    组合到
    b
  • a
    链接到
    b
  • a
    b
  • b
    a
  • x
    通过
    b
    a

至于
compose
函数的参数的指定,我猜您只剩下Math.SE答案了。

reverse-compose-dropThree
是Scala,相当于
reverse.compose(dropThree)
,对吗?是的,在Scala中,点刺可能会被删除。理想情况下,问题后面的术语应该特别指特定的参数,类似于
除数
被除数
,精确地描述除法中的哪个参数。啊,好的,我不知道这些参数的任何术语。作曲家和作曲家可能是你唯一能得到的。