如何在ANF中编码身份函数?

时间:2016-07-23 11:58:16

标签: lambda-calculus

我正试图理解ANF(行政范式),但我无法理解lambda术语的翻译。考虑这个lambda术语:λx.x。你如何在ANF编码? x是一个变量,但根据ANF语法,lambda体必须是ANF中的let绑定或函数应用程序:

EXP ::= VAL VAL
      | let VAR = EXP in EXP

VAL ::= λ VAR . EXP
      | VAR

1 个答案:

答案 0 :(得分:1)

A-normal form上的维基百科页面无法提供完整的语法。 这是一个更正版本:

EXP ::= VAL
      | VAL VAL
      | let VAR = EXP in EXP

VAL ::= λ VAR . EXP
      | VAR

这意味着身份函数是A-normalizer函数的固定点,即它只是相同的λx. x。有关详细信息,请访问here