由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - [bssd]Continuation....
相关主题
谁能用本科生就能理解的语言解释图灵机和拉姆达计算的区别FP的主要问题是两个
凡是学过点数理逻辑的,80%会觉得functional programming有意思王垠: 图灵的光环 (转载)
其实王垠严肃文章写的不错[bssd]计算机科学的自然律
二爷,分享点微软转开源的经验呗C++的并行架构库是如何实现内存回收?
简述一下常见语言的缺点问高手一个PERL的简单程序
感觉是时候认真看看vert.x了弱问:C的for/while循环能在括号里面continue吗?
c# 3 很强大how to assign new value to loop variables?
看了看Java的lambda,感觉还是没啥意思LabVIEW问题:对高手来说很简单!
相关话题的讨论汇总
话题: f2话题: lambda话题: def话题: f1
进入Programming版参与讨论
1 (共1页)
g****t
发帖数: 31659
1
我从未写过一行Continuation。
我理解的Turing的1936 paper数理逻辑知识,能不能落到实处?刚才花了一小时python。
作为一个无名散户,我愿意把自己的错误过程,polish的过程分享给大家批评。
这程序的目的是不用loop index把一个函数g调用n次。
实现用continuation消除loop的转换。
我想我证实了,从Turing 1936 paper出发,一般人都可以"invent" continuation。
def g(x):
print(x+1)
return x+1
def F(n,S):
if n == 0:
t = S(0)
else:
F(n-1,( lambda x:S(S(x)) ))
#F(3,g) called g 2^x times
def F1(n,S):
if n == 0:
t = S(0)
else:

f = lambda x:g(x)
# we had to use g that is not in the F1's body and it looks not nice
F1(n-1,(lambda x: f(S(x) ) ))
def F2(n,S,h):
if n == 0:
t = S(0)
else:
f = lambda x:h(x)
#h is used to keep the external information
F2(n-1,(lambda x: f(S(x) ) ),h)
#F2(3,g,g)
def F3(n,S_name):
F2(n,eval(S_name),eval(S_name))
F3(8,'g')
# test, should print 1,2,...,9
1 (共1页)
进入Programming版参与讨论
相关主题
LabVIEW问题:对高手来说很简单!简述一下常见语言的缺点
请教一道练习题(C,OS)感觉是时候认真看看vert.x了
【包子求助】20M*20M的loop怎么搞?c# 3 很强大
如何实现N层循环嵌套看了看Java的lambda,感觉还是没啥意思
谁能用本科生就能理解的语言解释图灵机和拉姆达计算的区别FP的主要问题是两个
凡是学过点数理逻辑的,80%会觉得functional programming有意思王垠: 图灵的光环 (转载)
其实王垠严肃文章写的不错[bssd]计算机科学的自然律
二爷,分享点微软转开源的经验呗C++的并行架构库是如何实现内存回收?
相关话题的讨论汇总
话题: f2话题: lambda话题: def话题: f1