捕获功能组合中参数的排序特征的术语

时间:2019-04-28 16:36:43

标签: functional-programming terminology function-composition

在功能组合g compose f中,使用什么术语来指代和区分传递给组合运算符{{的功能参数fg ordering 属性1}}?例如,给定以下组成

compose

什么术语使显式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

首先进入

reverse compose dropThree

Math SE,他们似乎认为这种精确的术语还没有出现

  

...我的目标是进行除法或减法类比:您可能会因为   例如,将外部函数称为 composer ,将内部函数称为   组成。据我所知,这种词不是常用的,   也许是因为对他们的需求没有像对   基本的算术运算。

但是,在软件工程世界中,合成,链接,流水线等似乎无处不在,并且是函数式编程的头条新闻,因此应该存在精确的术语来表征组成中涉及的操作数的关键排序特性。

请注意,问题后面的术语专门指组成的特定论点,而不是整个表达式,类似于除数股息,它们精确地描述了除法中的哪个

1 个答案:

答案 0 :(得分:1)

我认为没有正式的术语,但是我将a ∘ bλx.a(b(x)))表示为

    {li> ab的组成 由a组成的
  • b
  • a组成b
  • a链接到b
  • a之后b
  • b之前a
  • x通过ba的流水线

关于compose函数的参数指定,我想您还剩下Math.SE答案了。