×

朝向堆和命令式lambdas的模式。 (英语) Zbl 1355.68040号

摘要:在函数编程中,无点关系计算在程序构造的一般理论方面取得了丰硕的成果,但在具体应用中,逐点表达式可以更加方便和易于理解。在命令式编程中,求精计算与状态变量的逐点表达式联系在一起,但无处不在但不可见的堆是一个奇怪的例外。要将逐点与无点集成,O.de摩尔J.吉本斯[法学笔记计算科学1816,371–390(2000;Zbl 0983.68042号)]扩展的lambda演算,使用关系解释非投射模式匹配。本文使用偏序之间的“理想关系”给出了该语言的语义,并使用谓词变换给出了第二种语义。第二种语义是由于它可能与分离代数一起使用,用于堆上的程序中的模式匹配。在这些模型中证明了lax-beta和eta等定律,并提出了一些开放问题。

MSC公司:

68甲18 函数编程和lambda演算

软件:

工具链
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Appel,Andrew W.,《认证编译器程序逻辑》(2014),剑桥大学出版社·Zbl 1298.68009号
[2] 理查德·伯德(Richard Bird);de Moor,Oege,编程代数(1996),普伦蒂斯·霍尔·Zbl 0847.68014号
[4] 罗兰·卡尔·巴克豪斯;Patrik Jansson;Johan Jeuring;Meertens,Lambert G.L.T.,《泛型编程:导论》(Advanced Functional programming,1998),28-115
[5] 阿尼迪亚·班纳吉;David A.Naumann,《所有权限制确保面向对象程序的表示独立性》,J.ACM,52,6,894-960(2005)·Zbl 1316.68033号
[6] 阿尼迪亚·班纳吉;Naumann,David A.,关于行为保持重构的模块化推理的基于状态的封装,(Clarke,Dave;Noble,James;Wrigstad,Tobias,《面向对象编程中的别名》,Springer State-of-the-art Surveys,vol.7850(2012))
[7] 阿尼迪亚·班纳吉;戴维·诺曼(David A.Naumann)。;Rosenberg,Stan,全局不变量的局部推理,第一部分:区域逻辑,J.ACM,60,3,18:1-18:56(2013)·Zbl 1281.68154号
[8] Alex Bunkenburg,Expression refinence(1997),格拉斯哥大学,论文
[9] 回来了,拉尔夫·约翰;冯·赖特(von Wright),约阿金(Joakim),《精化微积分:系统介绍》(1998),施普林格-弗拉格出版社·Zbl 0949.68094号
[10] de Moor,Oege,《多类型编程练习:repmin》(1996年9月),(2015年6月访问)
[11] Dang、Han-Hing;Moeller,B.,《扩展传递分离逻辑》,J.Log。阿尔及利亚。方法。程序。,84 (2015) ·Zbl 1330.03071号
[12] 奥格·德穆尔;杰里米·吉本斯(Jeremy Gibbons),《点式关系编程》(Pointwise relational programming),(代数方法论和软件技术,代数方法论与软件技术,Lect.Notes Compute.Sci.,第1816卷(2000)),371-390·Zbl 0983.68042号
[13] 彼得·弗雷德(Peter J.Freyd)。;安德烈·塞德洛夫(Andre Scedrov),《类别,寓言》(Categories,Allegories)(1990年),北荷兰·Zbl 0698.18002号
[14] 保罗·H·B·加德纳。;Clare E.Martin。;de Moor,Oege,谓词变换器的代数构造,Sci。计算。程序。,22, 21-44 (1994) ·Zbl 0807.18003号
[15] Gunter,Carl A.,《程序设计语言的语义》(1992),麻省理工学院·Zbl 0823.68059号
[16] Paul Hoogendijk;de Moor,Oege,容器类型明确,J.Funct。程序。,191-225年10月2日(2000年)·兹比尔0959.68023
[17] Hinze,Ralf,《构建锦标赛表示法:逐点关系编程中的一个练习》,(《程序构建的数学》,《程序构建数学》,Lect.Notes Compute Sci.,第2386卷(2002)),131-147·Zbl 1073.68578号
[18] 托尼·霍尔(Tony Hoare);范·斯塔登,斯蒂芬;莫勒,伯恩哈德;乔治·斯特鲁斯(Georg Struth);朱尔斯·维拉德;朱慧彪;O'Hearn,Peter W.,并行Kleene代数的发展,(计算机科学中的关系和代数方法(RAMiCS))。计算机科学中的关系和代数方法(RAMiCS),Lect。票据计算。科学。,第8428卷(2014)),1-18·Zbl 1344.68148号
[19] 约瑟夫·莫里斯(Joseph M.Morris)。;亚历山大·本肯堡;Tyrrell,Malcolm,《术语变换器:一种新的状态方法》,ACM Trans。程序。语言系统。,31, 4 (2009)
[20] Clare E.Martin。;Curtis,Sharon A.,寓言中多重关系的单子图和折叠,(统一编程理论,第二届国际研讨会,修订论文集。统一编程理论》,第二次国际研讨会,修改论文集,Lect.Notes Compute.Sci.,第5713卷(2008)),102-121·Zbl 1286.68087号
[21] Clare E.Martin。;莎朗·柯蒂斯(Sharon A.Curtis)。;《用多重关系模拟天使和恶魔的不确定性》,《科学》。计算。程序。,65, 2, 140-158 (2007) ·Zbl 1106.68023号
[22] 马丁,C.E。;霍尔,C.A.R。;他、纪峰、前辅词按顺序充实了范畴、数学。结构。计算。科学。,1, 141-158 (1991) ·Zbl 0755.18003号
[23] Morgan,Carroll,《规范编程》(1994),普伦蒂斯·霍尔·兹比尔0829.68083
[24] 约瑟夫·莫里斯(Joseph M.Morris)。;Tyrrell,Malcolm,双重不确定性函数,ACM Trans。程序。语言系统。,30, 6 (2008)
[25] 约瑟夫·莫里斯(Joseph M.Morris)。;Tyrrell,Malcolm,建模高阶对偶不确定性,信息学报。,45, 6, 441-465 (2008) ·Zbl 1160.68006号
[26] Naumann,David A.,《超越乐趣:多类型命令式编程中的顺序和成员关系》(Beyond Fun:order and membership in polytype implemental programming),(《程序构造的数学》,《程序构造数学》,Lect.Notes Compute Sci.,vol.1422(1998)),286-314
[27] David A.Naumann,《高阶命令式编程的分类模型》,数学。结构。计算。科学。,8, 4, 351-399 (1998) ·Zbl 0916.68095号
[28] Naumann,David A.,《走向曲折精化代数》,(Gries,David;de Roever,Willem Paul,编程概念和方法(1998),Chapman和Hall),346-365
[29] Naumann,David A.,逐点关系和无状态命令式编程的理想模型,(声明式编程的原理和实践(2001)),4-15
[30] 阿列克桑达尔·纳内夫斯基;莫里塞特,J.格雷戈里;Birkedal,Lars,Hoare类型理论,多态性和分离,J.Funct。程序。,18, 5-6, 865-911 (2008) ·Zbl 1155.68354号
[31] Oliveira,JoséNuno,使用无点变换通过计算扩展静态检查,(语言工程和严格的软件开发,国际LerNet ALFA暑期学校,修订的教程讲座。语言工程和严密的软件开发·Zbl 1250.68093号
[32] 王淑玲;苏亚雷斯·巴博萨,路易斯;Nuno Oliveira,José,受限分离逻辑的关系模型,(软件工程理论方面国际研讨会(TASE)(2008)),263-270
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。