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

ntc*_*tc2 23 history haskell functional-programming

Hutton的Razor是一种简单的表达式语言,具有常量和附加:

data HR = Const Int 
        | HR :+: HR

eval :: HR -> Int
eval (Const n)   = n
eval (e1 :+: e2) = eval e1 + eval e2 
Run Code Online (Sandbox Code Playgroud)

它出现在幅材上,例如许多编程示例[ 1,2,3,4 ].有没有人知道它最初定义的地方,也许是Graham Hutton写的一篇论文?

ntc*_*tc2 14

我能找到的最早提到的是1998年的Hutton's Fold and Unfold for Program Semantics的 2.1节.


scl*_*clv 6

Hutton和Wright的2004年" 正确编译例外 "描述了这样一种语言.它没有使用术语"Hutton's Razor"(我们也不期望它),但它引入了这种最小的语言,并且有充分的动机暗示这种激烈的方法并没有考虑到现有技术.在描述这个语言的"赫顿剃刀"的第一个硬币上,我真的不知道......

  • 是的,我不认为赫顿会把它称为"赫顿的剃刀",至少最初不是:D (2认同)