这个问题也困惑过我,这里随便扯点想法,当作开脑洞了...
其实类似lambda calculus里面的abstraction即
。它的body相当于一个模板,里面的x, y是模板变量(形参),不同于实例变量(实参)。调用函数的时候,相当于用实参来实例化模板变量:
而求导运算
是一种特殊的高阶函数,本质上是
,即所谓的对x求导其实是对『抽象x』这一行为进行求导(蕴含了对模板变量x相应维度上的微小量运算,而不是对模板变量x本身)。其运算过程类似:
回过头来,对于上述栗子中
,我倾向于它的含义为
,这里的x和y是声明g所采用的模板变量,
被作用于它们并实例化,采用λ的形式即为
这里区分了
和
各自声明的模板变量,即
和
。