Jam*_*ing 5 optimization computer-science functional-programming lambda-calculus
我正在用C#编写lambda演算的解释器。到目前为止,我已经采用了以下几种解释方法。
目前,在我能够测试的大多数情况下,MSIL编译策略的速度都快一个数量级。但是,我正在通过确定通常在LC术语构建中使用的模式来优化术语重写器。到目前为止,我特别提出了一种方法,该方法提供了相对较小的加速:识别指数级应用程序。例如f (f (f (f x)))简化为f^4 x。然后,使用相等于申请人指数的规则,即f^m (f^n x) = f^(m + n) x。该规则特别适用于教堂数字的取幂。
我想知道这种优化:LC中是否还有其他基于模式的优化方法?