替代模型斯卡拉

时间:2013-04-09 13:40:54

标签: scala

我现在正在做斯卡拉课程。关于替代模型有一些讨论。它声明:

def f(x1,...,xn) = B; ... f(v1,..., vn)
then
def f(x1,...,xn) = B; ... [v1/x1,...,vn/xn]B

Here, [v1/x1,...,vn/xn]B means:
The expression B in which all occurrences of xi have been replaced
by vi.
[v1/x1,...,vn/xn] is called a substitution

我在这里有两个问题:

这里有什么大概念吗? 对我而言,它只是以一种奇特的方式说plug the values in 用于替换[v1/x1,...,vn/xn]的表示法是否在其他地方使用?

1 个答案:

答案 0 :(得分:4)

你是对的,它确实以一种奇特的方式说“插入价值”。对它有一个正式和明确的符号仍然是一个好主意,事实上这是理论计算机科学中的标准符号(而不是你的课程讲师所构成的)。

特别是,“插入值”会变得更加复杂,在这种情况下,您必须担心变量被绑定应该是自由的,反之亦然。如果您对细节感兴趣,请阅读一本介绍lambda演算的教科书。