Почему Lambda-Abstractions являются единственными терминами, которые являются значениями в нетипедном исчислении Lambda?

cs.stackexchange https://cs.stackexchange.com/questions/1662

  •  16-10-2019
  •  | 
  •  

Вопрос

Я смущен следующим утверждением: «Единственные значения в нетипедном исчислении Lambda-это Abstractions Lambda».

Почему другие термины не значения? Что это значит, чтобы лямбда-абстракция была ценностью? Первое, что пришло мне в голову, было то, что, возможно, лямбда-поджатия являются единственными возможными нормальными формами, но это не так, конечно, например, ( lambda x. ; X) ; y to y $.

Может кто -нибудь просветить меня?

Это было полезно?

Решение

Здесь происходит несколько вещей:

  • Язык, о котором вы говорите, не имеет дополнительных типов данных, в противном случае будут другие виды ценностей.
  • Стратегия сокращения языка не уменьшает абстракции Lambda. Как по вызову, так и по вызову соответствуют этому. В противном случае, не каждая абстракция лямбды была бы нормальной.
  • Обычно считают закрытые выражения как программы, поэтому нет свободных переменных, поэтому пример, который вы представляете, не рассматривается.

Другие термины не являются ценностями, потому что они могут быть уменьшены или не появляются в закрытых программах.

То, что абстракция лямбда является значением, означает, что она не может быть уменьшена дальше (в зависимости от стратегии сокращения).

Для открытых терминов переменные также являются значениями.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top