Являются ли переменные, связанные со свободными переменными, все еще свободными переменными?

Я смотрю на некоторые вопросы в своем учебнике о том, являются ли переменные свободными или связанными. Я не уверен в этих двух особенно.

Во-первых, я хочу убедиться, что понимаю концепцию свободного и связанного. Я совершенно уверен, что этот x является свободной переменной в следующем:

variable x is free in expression "x"

Я верю, что это правда, но я просто хочу убедиться.

Однако в этих двух вопросах я не совсем уверен.

,
(let x y (/ (+ 1 x) (let x 2 (+ x x))))

Для верхнего выражения x в первом подвыражении не связан (правильно?), но x во втором подвыражении привязан к 2, значит ли это, что x в отношении выражения в целом не связан?

Для нижнего выражения x связан с y, но y является свободной переменной (?). Так будет ли x свободным, потому что у свободен, или он связан, потому что x все еще ограничен у?

1 ответ

За (/ (+ 1 x) (let x 2 (+ x x))), в первом подвыражении несвязано, но во втором подвыражении связано с 2, значит ли это, что в отношении выражения в целом нет привязки?

Да. Хотя я бы использовал терминологию «связан» или «свободен» только по отношению к конкретному выражению переменной, а не к имени. Как видите, неоднозначно, что означает "" .

Я бы сказал, что « все выражение имеет свободную переменную », что обычно вас волнует, когда вы пытаетесь вычислить выражение.

За (let x y (/ (+ 1 x) (let x 2 (+ x x)))), связан с , но является свободной переменной. Так будет ли он свободен, потому что свободен, или он связан, потому что все еще ограничен ?

The xсвязан (и может быть заменен). yбесплатно.

Другие вопросы по тегам