在什么意义上,Constant Applicative Form适用?

时间:2018-01-28 18:17:11

标签: haskell

我理解CAF是一种形式,因为它在内存中具有特定的形状,或者是一种无限多种可能的图形表示形式。 评估。 (It is noted“常量应用形式”与“静态应用”同义。)

我理解它是常量,因为没有自由变量,并且已经包含了评估常量形式所需的所有信息。这是一个没有箭头指向外面的形状。

但为什么“ applicative ”?因此我无法入睡。每个人都说咖啡馆,咖啡馆,但实际上谁知道字面意思是什么?它是否与应用仿函数有关(我猜不是)?还有其他什么样的应用形式?

3 个答案:

答案 0 :(得分:3)

常量应用形式的术语是应用于(零个或多个)其他常量的常量。 (当然,每个常量在完全评估之前可能需要一些计算!)

答案 1 :(得分:1)

每个CAF都是一个超级组合者,而超级组合者,长话短说,功能需要其他(可能是无效的)功能,并且应用于彼此。

所以,我对CAF名称中“applicative”的理解是指它们的超组合性质。

答案 2 :(得分:0)

我联系了Haskell Cafe和Stephen Tetley kindly clarified。简言之:

  

大约在20世纪70年代和80年代,“应用”在英国经常被用作   功能的同义词......

- 所以我们可以将“caf”称为“cff”。

我仍然需要研究这实际意味着什么。斯蒂芬提出了一个paper,其中包括应用表达式,这可能恰好与我们的应用形式相同,但我将无限期地通过做一个合理有根据的陈述是否是这样的,所以我现在会发一个答案,同时保留一段时间后我可能会扩大它的可能性。