×

类型推理的重写逻辑方法。 (英语) Zbl 1253.68211号

Corradini,Andrea(编辑)等人,代数开发技术的最新趋势。第19届国际研讨会,WADT 2008,意大利比萨,2008年6月13日至16日。修改选定的论文。柏林:施普林格出版社(ISBN 978-3-642-03428-2/pbk)。《计算机科学讲义》54863135-151(2009)。
概要:Meseguer和Rošu提出重写逻辑语义(RLS),作为统一运算语义和代数指称语义的编程语言定义框架。RLS已经被用于定义一系列教学语言和真实语言,但它在定义和推理类型系统方面的好处尚未得到充分研究。本文展示了如何使用相同的RLS样式来定义语言的形式化定义。用于执行RLS语言定义的相同术语重写机制现在可以用于执行类型系统,从而提供类型检查器或类型推断器。通过将Hindley-Milner多态类型推理器(mathcal{W})定义为重写逻辑理论,并使用该定义通过在重写逻辑引擎中执行来获得类型推理器,从而证明了该方法的有效性。与\(mathcal{W}\)的其他定义或实现相比,通过这种方式获得的推断器是有利的。可执行定义的性能与类型推断器(如OCaml)的高度优化实现的性能相差一个数量级。
关于整个系列,请参见[Zbl 1173.68005号].

MSC公司:

68问题55 计算理论中的语义学
68号30 软件工程的数学方面(规范、验证、度量、需求等)
2012年第68季度 语法和重写系统
PDF格式BibTeX公司 XML格式引用
全文: DOI程序 链接

参考文献:

[1] Meseguer,J.,Rošu,G.:重写逻辑语义:从语言规范到形式化分析工具。收录:Basin,D.,Rusinovitch,M.(编辑)IJCAR 2004。LNCS,第3097卷,第1-44页。斯普林格,海德堡(2004)·Zbl 1126.68464号 ·doi:10.1007/978-3-540-25984-8_1
[2] Meseguer,J.,Rošu,G.:重写逻辑语义项目。J.TCS 373(3),213–237(2007)·Zbl 1111.68068号 ·doi:10.1016/j.tcs.2006.12.018
[3] Rošu,G.:K:模块化语言设计、语义、分析和实现的基于重写的框架。技术报告UIUCDCS-R-2006-2802,伊利诺伊大学厄本那-香槟分校计算机科学系(2006)
[4] Kuan,G.,MacQueen,D.,Findler,R.B.:类型推理的重写语义。摘自:De Nicola,R.(编辑)ESOP 2007。LNCS,第4421卷,第426–440页。斯普林格,海德堡(2007)·Zbl 1187.68155号 ·doi:10.1007/978-3-540-71316-6_29
[5] Felleisen,M.,Hieb,R.:关于顺序控制和状态的句法理论的修订报告。J.TCS 103(2),235-271(1992)·Zbl 0764.68094号 ·doi:10.1016/0304-3975(92)90014-7
[6] Wright,A.K.,Felleisen,M.:类型健全性的句法方法。信息与计算115(1),38–94(1994)·Zbl 0938.68559号 ·doi:10.1006/inco.1994.1093
[7] Matthews,J.,Findler,R.B.,Flatt,M.,Felleisen,M.:开发上下文敏感术语重写系统的可视化环境。收录:van Oostrom,V.(编辑)RTA 2004。LNCS,第3091卷,第301-311页。斯普林格,海德堡(2004)·doi:10.1007/978-3-540-25979-4_21
[8] Milner,R.:编程中的类型多态理论。计算机与系统科学杂志17(3),348–375(1978)·Zbl 0388.68003号 ·doi:10.1016/0022-0000(78)90014-4
[9] Bravenboer,M.、Kalleberg,K.T.、Vermaas,R.、Visser,E.:Stratego/XT教程、示例和参考手册。乌得勒支大学信息与计算科学系(2005年8月)(草案)
[10] Barendregt,H.:广义类型系统简介。J.函数编程1(2),125–154(1991)·兹伯利0931.03019
[11] Stehr,M.-O.,Meseguer,J.:重写逻辑中的纯类型系统:在一阶逻辑框架中指定类型化的高阶语言。in:Owe,O.,Krogdahl,S.,Lyche,T.(eds.)From Object-Orientation to Formal Methods。LNCS,第2635卷,第334-375页。斯普林格,海德堡(2004)·Zbl 1278.03066号 ·doi:10.1007/978-3-540-39993-3_16
[12] Barendregt,H.P.,van Eekelen,M.C.J.D.,Glauert,J.R.W.,Kennaway,R.,Plasmeijer,M.J.,Sleep,M.R.:术语图重写。收录人:de Bakker,J.W.,Nijman,A.J.,Trelevan,P.C.(编辑)PARLE 1987。LNCS,第259卷,第141–158页。斯普林格,海德堡(1987)·Zbl 0681.68037号 ·数字对象标识代码:10.1007/3-540-17945-38
[13] Plump,D.:术语图重写。收录:《图形语法和图形变换计算手册》,第2卷。《世界科学》,新加坡(1998年)
[14] Banach,R.:术语图重写系统的简单类型推断。收录:Rusinovitch,M.,Remy,J.-L.(编辑)CTRS 1992。LNCS,第656卷,第51-66页。斯普林格,海德堡(1993)·doi:10.1007/3-540-56393-84
[15] Fogarty,S.,Pasalic,E.,Siek,J.,Taha,W.:Concoqtion:立即索引类型!摘自:《2007年政治公众人物》,第112-121页。ACM,纽约(2007)
[16] Kamaredine,F.,Klop,J.W.(编辑):类型理论和术语改写专题:论文集。逻辑与计算杂志10(3)。牛津大学出版社,牛津(2000)·Zbl 0953.00007
[17] Hünke,Y.,de Moor,O.:用重写规则帮助依赖类型检查(2001)(未出版),http://citseeer.ist.psu.edu/huencke01aiding.html
[18] Mametjanov,A.:类型和程序转换。收录于:OOPSLA 2007指南,第937-938页。ACM,纽约(2007)
[19] 莱文,M.Y.,皮尔斯,B.C.:修补程序类型:一种用于处理正式系统的语言。《功能编程》13(2),295–316(2003)·Zbl 1062.68039号
[20] Lee,D.K.,Crary,K.,Harper,R.:走向标准ML的机械化元理论。收录:POPL 2007,第173-184页。ACM,纽约(2007)·Zbl 1295.68088号
[21] Klein,G.,Nipkow,T.:类Java语言、虚拟机和编译器的机器选择模型。托普拉斯28(4),619–695(2006)·数字对象标识代码:10.1145/1146809.1146811
[22] Sewell,P.、Nardelli,F.Z.、Owens,S.、Peskine,G.、Ridge,T.、Sarkar,S.,Strniša,R.:Ott:对工作语义学家的有效工具支持。载于:ICFP 2007:2007年ACM SIGPLAN功能编程国际会议论文集,第1-12页。ACM,纽约(2007)·Zbl 1291.68238号 ·doi:10.1145/12911151.1291155
[23] van den Brand,M.等人:ASF+SDF元环境:基于组件的语言开发环境。收录:Wilhelm,R.(编辑)CC 2001。LNCS,第2027卷,第365页。斯普林格,海德堡(2001)·Zbl 0977.68762号 ·doi:10.1007/3-540-45306-7_26
[24] Rošu,G.:K:基于重写的计算框架——非正式指南。伊利诺伊大学香槟分校UIUCDCS-R-2007-2926技术报告(2007)
[25] Meseguer,J.:条件重写逻辑作为并发的统一模型。J.TCS 96(1),73–155(1992)·Zbl 0758.68043号 ·doi:10.1016/0304-3975(92)90182-F
[26] Clavel,M.、Durán,F.、Eker,S.、Lincoln,P.、Martí-Oliet,n.、Meseguer,J.、Quesada,J.F.:Maude:重写逻辑中的规范和编程。西奥。计算。科学。 285(2), 187–243 (2002) ·Zbl 1001.68059号 ·doi:10.1016/S0304-3975(01)00359-0
[27] Plotkin,G.D.:操作语义的结构方法。《逻辑与代数编程杂志》60-61,17-139(2004)·Zbl 1072.68063号 ·doi:10.1016/j.jlap.2004.03.009
[28] Gurevich,Y.:进化代数1993:Lipari指南。摘自:规范和验证方法,第9-36页。牛津大学出版社,纽约(1995年)·Zbl 0852.68053号
[29] Strachey,C.,Wadsworth,C.P.:继续:处理完整跳跃的数学语义。高阶和符号。计算13(1/2),135–152(2000)·Zbl 0951.68078号 ·doi:10.1023/A:101026413531
[30] Martelli,A.,Montanari,U.:一种有效的统一算法。ACM事务处理。程序。语言系统。 4(2), 258–282 (1982) ·Zbl 0478.68093号 ·doi:10.1145/357162.357169
[31] Roşu,G.:W型推理器的K型Maude定义(2007),http://fsl.cs.uiuc.edu/index.php/Special:WOnline(在线)
[32] Kothari,S.,Caldwell,J.:lambda演算的算法W,通过Milner-let实现进行扩展,用于类型重建算法——综述。怀俄明州大学技术报告(2007年)
[33] Li,Z.:Enhtop:增强OCaml顶级补丁(2007),网址:http://www.pps.jussieu.fr/li/software/index.html
[34] Eker,S.:正则方程理论组合中的快速匹配。收录于:WRLA 1996。ENTCS,第4卷,第90-109页(1996年)·doi:10.1016/S1571-0661(04)00035-0
[35] Ellison,C.:定义类型系统的重写逻辑方法。伊利诺伊大学香槟分校硕士论文(2008),http://fsl.cs.uiuc.edu/pubs/ellison-2008-masterthesis.pdf
[36] Hosabettu,R.,Srivas,M.K.,Gopalakrishnan,G.:分解流水线微处理器的正确性证明。收录:Y.Vardi,M.(编辑)CAV 1998。LNCS,第1427卷,第122–134页。斯普林格,海德堡(1998)·doi:10.1007/BFb0028739
[37] Kanade,A.、Sanyal,A.、Khedker,U.P.:用于验证编译器优化的基于PVS的框架。收录于:SEFM 2006,第108–117页。IEEE计算机学会,Los Alamitos(2006)
[38] Kanade,A.、Sanyal,A.、Khedker,U.P.:构建优化转换并证明它们是合理的。包含:COCV 2006。ENTCS,第176(3)卷,第79-95页。爱思唯尔,阿姆斯特丹(2007)
[39] 艾德米尔,B.E.,博哈农,A.,费尔贝恩,M.,福斯特,J.N.,皮尔斯,B.C.,苏厄尔,P.,维蒂尼奥蒂斯,D.,瓦什伯恩,G.,魏里奇,S.,兹丹塞维奇,S.:大众的机械化元理论:波普尔马克挑战。In:Hurd,J.,Melham,T.(编辑)《2005年公共卫生与健康法案》。LNCS,第3603卷,第50-65页。施普林格,海德堡(2005)·Zbl 1152.68516号 ·doi:10.1007/11541868_4
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。