数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 3389|回复: 0

证明:过程式语言 > 图灵机 = 纯函数型语言

[复制链接]
发表于 2009-5-26 22:28 | 显示全部楼层 |阅读模式
首先我们应当清楚,"能够实现" 和 "易用" 是两个不同的概念。
用电路元件可以实现任何家电,而电视机却不能洗衣服。
但是前者的“易用”性显然低于后者。
--------------------------------------------------------------------
1) 目前已被证明,拉姆达计算(函数型语言)和图灵机是相互等价的。
2) 过程式语言,可以做到纯函数型语言所做不到的事情,举例如下:
   y(t) = f(x(t))
   其中 x(t) 可以被用户自由set,也可以get当前的x值。
   这个代码没有办法用纯函数型语言去实现,因为不能保存x的上一时刻的值。
   并且也没有办法递归解决,除精度问题外,还有个根本原因是:
       没有办法重现上一时刻用户的输入了。
   
   换言之,纯函数型语言无法保存系统状态。
   3) 故,过程式语言可以实现的东西,大于纯函数型语言。
由 1) 3) , 过程式语言可以实现的东西,大于图灵机。
--------------------------------------------------------------------
PS. 话虽如此,F#是混合型语言,即在必要时可以用过程式。
此外,仿真语言中(也是函数风格的),不存在上述所谓"实现不了"的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-6-19 02:09 , Processed in 0.075855 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表