“Hutton's Razor”首先定义在哪里?

时间:2013-07-26 00:13:07

标签: haskell functional-programming history

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

data HR = Const Int 
        | HR :+: HR

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

它出现在网络上的许多编程示例中,例如[1234]。有没有人知道它最初定义的地方,也许是Graham Hutton写的一篇论文?

2 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:5)

Hutton和Wright的2004年“Compiling Exceptions Correctly”描述了这样一种语言。它没有使用术语“Hutton's Razor”(我们也不期望它),但是它引入了这种最小的语言,并且有充分的动机暗示这种激烈的方法并没有考虑到现有技术。在“赫顿剃刀”的第一个造币来描述这个语言,我真的不知道......