Papers

用 Claude Code 复活 1961 年 Heuristic Compiler 与 1984 年 KBEmacs

Executable Archaeology of Programs That Model Programming: Reanimating the Heuristic Compiler (1961) and KBEmacs (1984)

Why we picked it

研究者把 Simon 1961 年的 Heuristic Compiler 和 1984 年的 KBEmacs 原代码跑了起来,还顺带用 Claude Code 干活,看看早期编程 AI 和现在有什么不一样。

这篇 arXiv 论文提出"可执行考古"方法,通过运行原始代码复活两个早期编程 AI 系统。Herbert Simon 的 Heuristic Compiler(1961)将编程视为问题求解,复现了其 1963 年论文中的编译结果。MIT Programmer's Apprentice 项目的 KBEmacs(1984)基于"专家程序员复用 cliché 模式"的理念,复现了 1984 年 12 月自测的 SQRT 序列。团队还用 Claude Code(Opus 5.5)完成了大部分复现工作,并指出两套理论都依赖既有程序知识的适配,而这一点在当今 AI 编程助手中 largely 缺失。

Original · arXiv: Anthropic

Executable Archaeology of Programs That Model Programming: Reanimating the Heuristic Compiler (1961) and KBEmacs (1984)

Early AI programs were often also theories of how people think, and programs that wrote programs were, in part, theories of how people program. Here we report on the reanimation of two such programs that offer two seemingly different theories of programming and were developed for quite different purposes. The first, Herbert Simon's Heuristic Compiler (1961), was an experimental model of programming as problem-solving, applying the means-ends analysis methods of the General Problem Solver to investigate the nature of the programming task. The second, KBEmacs (1984), was a working prototype of an intelligent programming assistant developed by MIT's Programmer's Apprentice project, built on the view that expert programmers recognize and combine familiar patterns, or "cliches." It let a programmer build up programs by combining cliches through a stylized English command language. We approach both through the methodology of Executable Archaeology, the study of historical computational systems by running their original code, a process we call "reanimation." Our reanimation of the Heuristic Compiler reproduces the compiled code appearing in Simon's 1963 paper, and our reanimation of KBEmacs reproduces the SQRT sequence of its December 1984 self-test. Examined side by side, the two theories turn out to have much in common: the Heuristic Compiler also works by adapting existing routines, and Simon later argued that search alone requires a large body of programming knowledge. To highlight the reflexivity of this project, we deliberately used a modern AI-assisted programming tool, Anthropic's Claude Code (Opus 5.5), to carry out much of the detailed reanimation work, building on a significant base of existing software. The explicit, executable theories of programming that both systems embodied are largely absent from today's far more capable AI coding assistants.