如何对二进制 lambda 演算的输出建模?

How to model the output of the binary lambda calculus?

我正在尝试为 John Tromp's binary lambda calculus

编写解释器

我编写了代码来执行以下操作:

  1. 将二进制输入解析为表示常规无类型 lambda 演算的某种数据结构
  2. Beta-减少这个词

然后会发生什么?

还是我误解了 BLC 的工作原理?

我建议使用 http://www.ioccc.org/2012/tromp/hint.html 作为您的主要参考。维基百科页面可能还不错,但他在 BLC 上的原始笔记相当不错。

关于输入输出的话题,他是这样说的:

More specifically, it defines a universal machine, which, from an input stream of bits, parses the binary encoding of a lambda calculus term, applies that to the remainder of input (translated to a lazy list of booleans, which have a standard representation in lambda calculus), and translates the evaluated result back into a stream of bits to be output.