我正在看教科书中的一些问题,这些问题是关于变量是自由的还是有约束的。我不确定这两个。
首先,我想确保我理解自由与绑定的概念。我相当确定这个 x 是以下的自由变量:
variable x is free in expression "x"
我相信这是真的,但我只是想确定一下。
然而,这两个问题我不太确定。
(/ (+ 1 x) (let x 2 (+ x x)))
,
(let x y (/ (+ 1 x) (let x 2 (+ x x))))
对于顶部表达式,第一个子表达式中的 x 是未绑定的(对吗?),但第二个子表达式中的 x 绑定为 2,那么这是否意味着关于整个表达式的 x 是未绑定的?
对于底部表达式,x 绑定到 y,但 y 是一个自由变量(?)。那么 x 是自由的,因为 y 是自由的,还是因为 x 仍然与 y 有界,所以它是有界的?