例如,如果有表达式:
(map (lambda(x) (add1 x)) '(1 2 3))
其评估结果为:
'(2 3 4)
如何显示所有中间步骤,在这种情况下将是:
(map (lambda(x) (add1 x)) '(2 2 3))
(map (lambda(x) (add1 x)) '(2 3 3))
答案 0 :(得分:0)
我认为做到这一点的最佳方法是开始制作自己的lambda演算解释器,并添加所需的额外方案功能,然后修改该解释器以生成所需的执行跟踪。
这可以帮助您开始编写口译员http://matt.might.net/articles/implementing-a-programming-language/