×

结构操作语义中的选择性严格性和参数不等式性。 (英语) Zbl 1143.68041号

摘要:参数多态性限制了纯函数程序的行为,从而允许仅从它们的类型中推导出关于它们的有趣定理,即实际上是免费的。这种“自由定理”的形式背景是为Girard-Reynolds多态lambda演算通过代数数据类型和一般递归的扩展而开发的,前提是所得演算被赋予纯严格或纯非严格的语义。但是,像Clean和Haskell这样的现代函数语言,虽然默认情况下使用非限制求值,但也提供了随意强制对子计算进行严格求值的方法。由此产生的选择性严格性使高级程序员能够明确控制求值顺序,但并非没有语义后果:它破坏了标准的参数结果。
本文为支持上述所有语言特性的核心演算开发了操作语义。它的主要成果是通过一个精心构建的逻辑关系来表征关于这个操作语义的观测近似。这为新参数结果奠定了形式基础,如几个示例应用所示,包括在存在选择性严格性的情况下首次完整的捷径融合正确性证明。对观测近似而非等效性的关注,允许在存在选择性严格性的情况下对计算行为进行细粒度分析,而不仅仅是对观测等效性进行分析。

MSC公司:

第68季度55 计算理论中的语义学
68甲18 函数编程和lambda演算
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] 阿贝尔。;本克,M。;Bove,A.L。;休斯,R.J.M。;诺雷尔,U.,《使用构造型理论验证Haskell程序》,(HaskellWorkshop,Proceedings(2005),ACM出版社),62-73
[2] Ahmed,A.,递归和量化类型的阶诱导句法逻辑关系,(欧洲编程研讨会,论文集。欧洲编程研讨会论文集,LNCS,第3924卷(2006),Springer-Verlag),69-83·Zbl 1178.68146号
[3] 班布里奇,E.S。;弗雷德·P·J。;斯克洛夫,A。;Scott,P.J.,函数多态性,理论计算机科学,71,431(1990),(勘误表)·Zbl 0717.18005号
[4] Birkedal,L。;莫格伯格,R.E。;Petersen,R.L.,多态直觉/线性lambda演算的参数域理论模型,(编程语义学的数学基础2005,Proceedings。编程语义学的数学基础2005,Proceedings,ENTCS,vol.155(2006),Elsevier B.V.),191-217·兹比尔1273.03099
[5] 清洁语言报告2.0。网址:http://www.cs.ru.nl/clean/CleanExtra/report20/index.html;清洁语言报告2.0。网址:http://www.cs.ru.nl/clean/CleanExtra/report20/index.html
[6] Danielsson,N.A。;休斯,R.J.M。;Jansson,P。;Gibbons,J.,《快速和松散的推理在道德上是正确的》(《程序设计语言原理》,Proceedings(2006),ACM Press),206-217·Zbl 1370.68042号
[7] Danielsson,N.A。;Jansson,P.,Chasing bottoms-存在部分和无限值时程序验证的案例研究,(程序构建数学,程序集。程序构造数学,程序,LNCS,第3125卷(2004),Springer-Verlag),85-109·Zbl 1106.68339号
[8] van Eekelen,M。;de Mol,M.,《显式严格性的证明工具支持》,(《函数语言的实现和应用2005》,《精选论文》,《函数语言实现和应用》,2005,《精选文章》,LNCS,第4015卷(2006),Springer-Verlag),37-54·Zbl 1236.68033号
[9] Felleisen,M。;弗里德曼,D.P。;科尔贝克,E。;Duba,B.,《顺序控制的句法理论》,《理论计算机科学》,52,205-237(1987)·Zbl 0643.03011号
[10] Friedman,H.,《函数之间的平等》(《逻辑座谈会》,第72-73页,《程序集》(1975年),施普林格-弗拉格出版社),第22-37页
[11] 格拉斯哥哈斯克尔编译器。http://www.haskell.org/ghc格拉斯哥哈斯克尔编译器。http://www.haskell.org/ghc ·Zbl 1037.68042号
[12] J.-Y.Girard,《解释功能》,巴黎第七大学博士论文,1972年;J.-Y.Girard,《解释功能》,巴黎第七大学博士论文,1972年
[13] 北加尼。;Johann,P。;乌斯塔鲁,T。;Vene,V.,Monadic增强和广义捷径融合,(函数编程国际会议,会议记录(2005),ACM出版社),294-305·Zbl 1302.68079号
[14] 吉尔,A。;Launchbury,J。;Peyton Jones,S.L.,《毁林捷径》(函数式编程语言和计算机体系结构,会议录(1993),美国计算机学会出版社),223-232
[15] Hasegawa,R.,多态性的可扩展折叠术语模型的参数性及其分类性质,(计算机软件的理论方面,Proceedings。计算机软件的理论方面,Proceedings,LNCS,vol.526(1991),Springer Verlag),495-512·兹比尔1493.68230
[16] 哈里森·W·L。;Kieburtz,R.B.,Haskell中的需求逻辑,函数编程杂志,15837-891(2005)·Zbl 1085.68023号
[17] Haskell邮件列表档案。网址:http://www.mail-archive.com网站/haskell@haskell.orgHaskell邮件列表档案。网址:http://www.mail-archive.com网站/haskell@haskell.org
[18] R.Harper,C.Stone,《类型理论中标准ML的解释》,技术报告CMU-CS-97-147,卡内基梅隆大学,1997年;R.Harper,C.Stone,《类型理论中标准ML的解释》,技术报告CMU-CS-97-147,卡内基梅隆大学,1997年
[19] Johann,P.,短程融合的推广及其正确性证明,高阶和符号计算,15273-300(2002)·Zbl 1020.68022号
[20] Johann,P.,《捷径融合是正确的》,《函数编程杂志》,第13期,第797-814页(2003年)·Zbl 1111.68406号
[21] Johann,P.,《基于高阶多态计算的自由定理证明程序转换的正确性》,《计算机科学中的数学结构》,第15期,第201-229页(2005年)·Zbl 1063.68033号
[22] Johann,P。;Voigtländer,J.,《存在的自由定理》(seq),(程序设计语言原理,会议录(2004),ACM出版社),99-110·Zbl 1325.68047号
[23] Johann,P。;Voigtländer,J.,《(seq)对基于自由理论的程序转换的影响》,《信息基础》,69,63-102(2006)·Zbl 1096.68026号
[24] S.B.Lassen,关于函数和不确定性的关系推理,奥胡斯大学博士论文,1998年;S.B.Lassen,关于函数和不确定性的关系推理,奥胡斯大学博士论文,1998年·Zbl 0967.68034号
[25] Leivant,D.,Polymorphic type inference,(编程语言原理,Proceedings(1983),美国计算机学会出版社),88-98
[26] Launchbury,J。;Paterson,R.,《参数化与未上色类型的拆箱》(Parametricity and unboxing with unbointed types),(欧洲编程研讨会,论文集(1996),Springer-Verlag),204-218
[27] Mögelberg,R.E.,《将多态FPC解释为参数多态性的领域理论模型》,(自动化国际学术讨论会,语言和编程,会议录。自动化国际学术会议,语言和程序,会议录,LNCS,第4052卷(2006),Springer-Verlag),372-383·Zbl 1133.68310号
[28] 米切尔,J.C。;Plotkin,G.D.,抽象类型具有存在类型,《ACM编程语言和系统事务》,10470-502(1988)
[29] (Peyton Jones,S.L.,Haskell 98语言与图书馆:修订报告(2003),剑桥大学出版社)·Zbl 1067.68041号
[30] Pitts,A.M.,参数多态性和操作等价性,《计算机科学中的数学结构》,10,321-359(2000)·Zbl 0955.68024号
[31] Pitts,A.M.,《类型运算推理》(Pierce,B.C.,类型和编程语言高级主题(2005),麻省理工出版社),245-289
[32] G.D.Plotkin,《Lambda定义和逻辑关系》,SAI-RM-4备忘录,爱丁堡大学,1973年;G.D.Plotkin,Lambda可定义性和逻辑关系,SAI-RM-4备忘录,爱丁堡大学,1973年
[33] Plotkin,G.D.,操作语义的结构方法,《逻辑与代数编程杂志》,60-61,17-139(2004)·Zbl 1082.68062号
[34] 佩顿·琼斯,S.L。;Launchbury,J。;屏蔽,M.B。;Tolmach,A.P.,《跨越鸿沟:ML和Haskell的通用中间语言》,(编程语言原理,会议录(1998),美国计算机学会出版社),49-61
[35] Reynolds,J.C.,《朝向类型结构理论》(Colloque sur la Programmation,Proceedings(1974),Springer-Verlag),408-423
[36] Reynolds,J.C.,《类型、抽象和参数多态性》(信息处理,论文集(1983),爱思唯尔科学出版社),513-523
[37] Rudiak-Gould,B。;Mycroft,A。;Peyton Jones,S.L.,Haskell不是ML,(《欧洲编程研讨会论文集》,《欧洲编程会议论文集》(European Symposium on Programming,Proceedings),LNCS,vol.3924(2006),Springer-Verlag),38-53·Zbl 1178.68138号
[38] 罗宾逊,E.P。;Rosolini,G.,自反图和参数多态性,(计算机科学中的逻辑,论文集(1994),IEEE计算机社会出版社),364-371
[39] G.Rosolini,A.Simpson,使用合成域理论证明基于严格性2004的多态编程语言的操作属性(手稿);G.Rosolini,A.Simpson,使用合成域理论证明基于严格性的多态编程语言的操作属性2004(手稿)
[40] Statman,R.,《逻辑关系与类型化lambda-calculus,信息与控制》,65,85-97(1985)·Zbl 0594.03006号
[41] Sveningsson,J.,累积参数和zip-like函数的快捷融合,(函数编程国际会议,会议记录(2002),ACM出版社),124-132·Zbl 1322.68050号
[42] Trinder,P.W。;哈蒙德,K。;Loidl,H.-W。;Peyton Jones,S.L.,算法+策略=并行,函数编程杂志,8,23-60(1998)·Zbl 0933.68033号
[43] A.高野。;Meijer,E.,《计算形式下的快捷砍伐森林》,(函数编程语言和计算机体系结构,论文集(1995年),ACM出版社),306-313·Zbl 0939.68556号
[44] J.Voigtländer,P.Johann,《结构操作语义中的选择性严格性和参数性》,技术报告TUD-FI06-02,德累斯顿理工大学,2006年;J.Voigtländer,P.Johann,《结构操作语义中的选择性严格性和参数性》,技术报告TUD-FI06-02,德累斯顿理工大学,2006年
[45] Voigtländer,J.,《级联、反转和地图免费消失》(函数编程国际会议,会议记录(2002),ACM出版社),14-25·Zbl 1322.68051号
[46] 病毒性肠炎,D。;Weirich,S。;Peyton Jones,S.L.,《Boxy类型:高库类型和无效性的推断》,(函数编程国际会议,论文集(2006),ACM出版社),251-262·Zbl 1321.68133号
[47] Wadler,P.,免费定理!,(函数编程语言与计算机体系结构,《程序集》(1989),ACM出版社),347-359
[48] 瓦德勒,P。;Blott,S.,如何制作特别的多态性较少特别的,(《程序设计语言原理》,《程序集》(1989),美国计算机学会出版社),60-76
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。