我正试图理解ANF(行政范式),但我无法理解lambda术语的翻译。考虑这个lambda术语:λx.x
。你如何在ANF编码? x
是一个变量,但根据ANF语法,lambda体必须是ANF中的let绑定或函数应用程序:
EXP ::= VAL VAL
| let VAR = EXP in EXP
VAL ::= λ VAR . EXP
| VAR
答案 0 :(得分:1)
A-normal form上的维基百科页面无法提供完整的语法。 这是一个更正版本:
EXP ::= VAL
| VAL VAL
| let VAR = EXP in EXP
VAL ::= λ VAR . EXP
| VAR
这意味着身份函数是A-normalizer函数的固定点,即它只是相同的λx. x
。有关详细信息,请访问here。