我理解CAF是一种形式,因为它在内存中具有特定的形状,或者是一种无限多种可能的图形表示形式。 评估。 (It is noted“常量应用形式”与“静态应用”同义。)
我理解它是常量,因为没有自由变量,并且已经包含了评估常量形式所需的所有信息。这是一个没有箭头指向外面的形状。
但为什么“ applicative ”?因此我无法入睡。每个人都说咖啡馆,咖啡馆,但实际上谁知道字面意思是什么?它是否与应用仿函数有关(我猜不是)?还有其他什么样的应用形式?
答案 0 :(得分:3)
常量应用形式的术语是应用于(零个或多个)其他常量的常量。 (当然,每个常量在完全评估之前可能需要一些计算!)
答案 1 :(得分:1)
每个CAF都是一个超级组合者,而超级组合者,长话短说,功能需要其他(可能是无效的)功能,并且将应用于彼此。
所以,我对CAF名称中“applicative”的理解是指它们的超组合性质。
答案 2 :(得分:0)
我联系了Haskell Cafe和Stephen Tetley kindly clarified。简言之:
大约在20世纪70年代和80年代,“应用”在英国经常被用作 功能的同义词......
- 所以我们可以将“caf”称为“cff”。
我仍然需要研究这实际意味着什么。斯蒂芬提出了一个paper,其中包括应用表达式,这可能恰好与我们的应用形式相同,但我将无限期地通过做一个合理有根据的陈述是否是这样的,所以我现在会发一个答案,同时保留一段时间后我可能会扩大它的可能性。