24

Hutton's Razor是一种简单的表达式语言,带有常量和加法:

data HR = Const Int 
        | HR :+: HR

eval :: HR -> Int
eval (Const n)   = n
eval (e1 :+: e2) = eval e1 + eval e2 

它出现在网络上的许多编程示例中,例如 [ 1 , 2 , 3 , 4 ]。有谁知道它最初是在哪里定义的,也许是 Graham Hutton 在一篇论文中定义的?

4

2 回答 2

13

我能找到的最早提到是在 1998 年,在 Hutton 的Fold and Unfold for Program Semantics的第 2.1 节中。

于 2013-07-26T02:11:30.827 回答
6

Hutton 和 Wright 的 2004 年“正确编译异常”描述了这种语言。它没有使用术语“Hutton's Razor”(我们也不希望它使用),但它引入了这种最小的语言,并有足够的动机暗示这种激进的方法没有考虑到现有技术。关于描述这种语言的“赫顿剃刀”的第一个造词,我真的不知道......

于 2013-07-26T01:42:19.580 回答