×

按需调用评估器和懒惰抽象机之间的功能对应关系。 (英语) Zbl 1178.68249号

摘要:我们使用闭包转换、转换为连续传递样式以及连续化的非功能化,为lambda-calculus架起合成计算器和抽象机器之间的桥梁。本文是我们在2003年PPDP上的文章的后续,在那里我们考虑按名称调用和按值调用。然而,在这里,我们考虑按需调用。我们从一个普通的按需调用计算器中派生出一个懒惰的抽象机器,该计算器线程化一堆可更新的单元格。在这个产生的抽象机器中,用于更新堆单元的延续片段自然会显示为“更新标记”,这是一种为三指令机器发明的实现技术,随后用于构造Krivine抽象机器的惰性变体。调整计算器会导致其他实现技术,如未装箱的值。生成的抽象机的正确性是原始求值器和派生中使用的程序转换正确性的必然结果。

MSC公司:

2005年第68季度 计算模型(图灵机等)(MSC2010)
68甲18 函数编程和lambda演算

软件:

阿尔戈60
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Ager,M.S。;Biernacki,D。;O.丹维。;Midtgaard,J.,评估器和抽象机器之间的函数通信,(Miller,D.,《第五届ACM-SIGPLAN声明性编程原理和实践国际会议论文集》(PPDP'03)(2003),ACM出版社:纽约ACM出版社),8-19
[2] M.S.Ager,O.Danvy,J.Midtgaard,《一元计算器与具有计算效果的语言抽象机之间的函数通信》,技术报告BRICS RS-03-35,DAIMI,丹麦奥胡斯大学计算机科学系,2003年;M.S.Ager,O.Danvy,J.Midtgaard,一元计算器与具有计算效果的语言抽象机之间的函数通信,技术报告BRICS RS-03-35,DAIMI,丹麦奥胡斯大学计算机科学系,2003年·Zbl 1077.68029号
[3] Appel,A.W.,《{C,Java,ML}中的现代编译器实现》(1998),剑桥大学出版社:剑桥大学出版社,纽约
[4] 阿里奥拉,Z.M。;Felleisen,M。;Maraist,J。;Odersky,M。;Wadler,P.,The call-by need lambda calculation,(Lee,P.《第二十二届美国计算机学会编程语言原理研讨会论文集》,加利福尼亚州旧金山(1995),美国计算机学会出版社:美国计算机学会新闻社纽约),233-246
[5] 班纳吉,A。;海因策,N。;Riecke,J.G.,基于控制流分析的程序转换的设计和正确性,(小林,N.;皮尔斯,B。C.,《计算机软件的理论方面》,第四届国际研讨会,TACS 2001,日本仙台。计算机软件的理论方面,第四届国际研讨会,TACS 2001,日本仙台,计算机科学讲义,第2215卷(2001),施普林格:施普林格柏林),420-447·Zbl 1087.68540号
[6] Crégut,P.,lambda-terms规范化的抽象机器,(Wand,M.,《1990年ACM Lisp和函数编程会议论文集》,法国尼斯(1990),ACM出版社:纽约ACM出版社),333-340
[7] O.Danvy,《合理解构Landin的SECD机器》,技术报告BRICS RS-03-33,DAIMI,丹麦奥胡斯大学计算机科学系,2003年;O.Danvy,《Landin的SECD机器的理性解构》,《金砖国家技术报告RS-03-33》,丹麦奥胡斯,奥胡斯大学计算机科学系,丹麦,2003年·Zbl 1119.68330号
[8] O.丹维。;Hatcliff,J.,《关于直接语义和连续语义之间的转换》(Brookes,S.;Main,M.;Melton,A.;Mislove,M.和Schmidt,D.,《第九届编程语义数学基础会议论文集》,洛杉矶新奥尔良。第九届编程语义数学基础会议论文集,洛杉矶新奥尔良,计算机科学讲义,第802卷(1993),施普林格:施普林格柏林),627-648·Zbl 1509.68146号
[9] O.丹维。;Nielsen,L.R.,《工作中的去功能化》,(Søndergaard,H.,《第三届国际ACM SIGPLAN声明式编程原理与实践会议论文集》(PPDP'01),意大利佛罗伦萨(2001),ACM出版社:纽约ACM出版社),162-174
[10] 迪尔,S。;Hartel,P。;Sestoft,P.,《编程语言实现的抽象机器》,《未来一代计算机系统》,16739-751(2000)·兹比尔0953.68568
[11] 费尔贝恩,J。;Wray,S.,TIM:执行超级合并器的简单、惰性抽象机器,(Kahn,G.,《函数编程语言和计算机体系结构》,俄勒冈州波特兰
[12] D.P.Friedman,A.Ghuloum,J.G.Siek,L.Winebarger,《改进懒惰的Krivine机器,高阶和符号计算》(2004),出版中;D.P.Friedman,A.Ghuloum,J.G.Siek,L.Winebarger,《改进懒惰的Krivine机器》,《高阶和符号计算》(2004),正在印刷·Zbl 1130.68055号
[13] 弗里德曼,D.P。;Wand,M。;Haynes,C.T.,《程序设计语言精要》(2001),麻省理工学院出版社:麻省理学院出版社剑桥·Zbl 0994.68020号
[14] 弗里德曼,D.P。;Wise,D.S.,CONS不应评估其论点,(Michaelson,S.;Milner,R.,第三届自动化、语言和编程国际学术讨论会(1976),爱丁堡大学出版社:爱丁堡,苏格兰爱丁堡),257-284·Zbl 0461.68023号
[15] Hannan,J。;Miller,D.,《从操作语义到抽象机器》,数学。结构。计算。科学。,2, 4, 415-459 (1992) ·Zbl 0798.68099号
[16] 哈丁,T。;Maranget,L。;Pagano,B.,《lambda-sigma演算中的功能运行时系统》,J.Funct。编程,8,2,131-172(1998)·Zbl 0918.03018号
[17] 亨德森,P。;Morris,J.H.,一个懒惰的评估者,(Graham,S.L.,《第三届ACM编程语言原理年度研讨会论文集》(1976),ACM出版社:纽约ACM出版社),95-103
[18] Johnsson,T.,《国家一元口译员的折叠变换》(Hammond,K.;Turner,D.N.;Sansom,P.M.,《1994年格拉斯哥函数编程研讨会论文集》,《计算研讨会》,苏格兰艾尔(1994),斯普林格:斯普林格-柏林)
[19] Josephs,M.B.,《惰性函数语言的语义》,Theoret。计算。科学。,68, 105-111 (1989) ·Zbl 0678.68081号
[20] Landin,P.J.,表达式的力学评估,计算。J.,6,4,308-320(1964)·Zbl 0122.36106号
[21] Launchbury,J.,《惰性评估的自然语义》(Graham,S.L.,《第二十届ACM编程语言原则研讨会论文集》,Charleston,SC(1993),ACM出版社:纽约ACM出版社),144-154
[22] L.R.Nielsen,非功能化的指称性调查,技术报告BRICS RS-00-47,DAIMI,丹麦奥胡斯大学计算机科学系,2000年;L.R.Nielsen,《去功能化的外延调查》,《金砖国家RS-00-47技术报告》,丹麦奥胡斯,奥胡斯大学计算机科学系,DAMI,2000年
[23] Plotkin,G.D.,Call-by-name,Call-by-value和\(λ\)-演算,理论。计算。科学。,1, 125-159 (1975) ·Zbl 0325.68006号
[24] Randell,B。;Russell,L.J.,《ALGOL 60实现》(1964年),学术出版社:纽约学术出版社·Zbl 0115.12702号
[25] Reynolds,J.C.,《高阶编程语言的定义解释器》,《高阶与符号计算》,11,4,363-397(1998),转载自第25届美国计算机学会全国会议论文集(1972),附前言·Zbl 0934.68034号
[26] Sestoft,P.,《派生懒惰的抽象机器》,J.Funct。编程,7,3,231-264(1997)·Zbl 0881.68049号
[27] Vuillemin,J.,简单编程语言中递归的正确和最佳实现,J.Comput。系统科学。,9, 3, 332-354 (1974)
[28] 威廉·R。;Maurer,D.,《编译器设计》(1995),Addison-Wesley:马萨诸塞州Addison-Whesley Reading·Zbl 0848.68019号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。