×

参数化cast calculi和渐进式lambda calculi的可重用元理论。 (英语) Zbl 1530.68064号

摘要:对渐变型的研究导致了渐变型Lambda演算(GTLC)的许多变化J·G。锡克西塔哈[“功能语言的渐进式键入”,Scheme 2006,81–92(2006),http://scheme2006.cs.uchicago.edu/13-siek.pdf; 对象的逐步类型化:Isabelle形式化。科罗拉多大学博尔德分校技术代表(2006年),https://schoolr.colorado.edu/concern/reports/dv13zv03g; 逐步键入:Isabelle/Isar形式化。休斯顿莱斯大学技术代表(2006年),https://hdl.handle.net/1991/96348]及其底层的cast演算。例如,P.Wadler先生R.B.芬德勒【Lect.Notes Compute.Sci.5502,1-16(2009年;Zbl 1234.68063号)]增加了责任追踪,J.西克等【Lect.Notes Compute.Sci.5502,17-31(2009;Zbl 1234.68060号)]调查了替代演员评估策略,以及D.赫尔曼等【高阶符号计算23,No.2,167-189(2010;兹比尔1232.68025)]为了提高空间效率,用胁迫代替了石膏。GTLC的元理论也扩展到了类型安全之外,包括非安全性[S.Tobin-Hochstadt公司M.Felleisen先生,“语际迁移:从脚本到程序”,OOPSLA 2006,964–974(2006;doi:10.1145/1176617.1176755)],空间消耗[Herman等人,loc.cit.],以及逐步担保[J.G.西克等人,“指责和胁迫:首次再次并驾齐驱”,PLDI 2015,425–435(2015;doi:10.1145/2737924.2737968); “逐步分型的改进标准”,SNAPL 2015,274–293(2015;doi:10.4230/LIPIcs。SNAPL.2015.274年); 莱克特。注释计算。科学。9032, 432–456 (2015;兹比尔1335.68069)]. 对于GTLC的某些变化,这些结果已被证明,但对于其他变化,则未被证明。此外,研究人员继续开发GTLC的变体,但建立新变体的所有元理论是非常耗时的。本文确定了以两个参数化cast calculi的形式捕获许多cast calguli之间相似性的抽象,一个用于语言规范,另一个用于指导节省空间的实现。然后,本文为这两种计算开发了可重用的元理论,证明了类型安全性、非安全性、渐进保证和空间消耗。最后,本文为八个铸造结石(包括文献中的五个和三个新结石)实例化了这一元理论。所有这些定义和定理,包括两个参数化计算、可重用元理论和八个实例化,都在Agda中实现了机械化,广泛使用模块参数和相关记录来定义抽象。

理学硕士:

68甲18 函数编程和lambda演算
03B40型 组合逻辑与lambda演算
68V20型 数学形式化与定理证明

关键词:

阿格达
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Ahmed,A.、Findler,R.B.、Siek,J.G.和Wadler,P.(2011年1月),归咎于所有人。在编程语言原理研讨会上·Zbl 1284.68156号
[2] Ahmed,A.、Jamner,D.、Siek,J.G.和Wadler,P.(2017年9月)免费定理:参数性,有类型和无类型。在函数编程国际会议上。
[3] Allende,E.、Fabry,J.和Tanter,E.(2013)《渐变型物体的投射插入策略》。第九届动态语言研讨会论文集,DLS’13,美国纽约州纽约市:ACM,第27-36页。
[4] 艾德米尔,B.E.,博哈农,A.,费尔贝恩,M.,福斯特,J.N.,皮尔斯,B.C.,苏厄尔,P.,维蒂尼奥蒂斯,D.,威里奇,G.W.S.和兹丹塞维奇,S.(2005年5月)《大众的机械化元理论:大众标志挑战》·Zbl 1152.68516号
[5] Bañados Schwerter,F.、Clark,A.M.、Jafery,K.A.和Garcia,R.(2021年1月)《抽象渐进式打字前进:精确和节省空间》。程序。ACM计划。语言50(POPL)。doi:doi:10.1145/3434342。
[6] Bierman,G.、Abadi,M.和Torgersen,M.(2014)《理解TypeScript》。在ECOOP 2014-面向对象编程中,Jones,R.(ed),第8586卷。计算机科学课堂讲稿。施普林格-柏林-海德堡,第257-281页。
[7] Bove,A.,Dybjer,P.和Norell,U.(2009)agda的简要概述-一种具有依赖类型的函数式语言。第22届高阶逻辑定理证明国际会议论文集,TPHOLs’09,柏林,海德堡:Springer-Verlag,第73-78页·Zbl 1252.68062号
[8] Bracha,G.(2004)可插入式系统。在OOPSLA’04动态语言复兴研讨会上。
[9] Bracha,G.&Griswold,D.(1993)Strongtalk:在生产环境中检查Smalltalk的类型。《OOPSLA’93:第八届面向对象编程系统、语言和应用年会论文集》,美国纽约州纽约市:ACM出版社,第215-230页。国际标准图书编号0-89791-587-9。
[10] Castagna,G.和Lanvin,V.(2017年),结合和交叉类型的渐进式分类。在函数编程国际会议上。
[11] Castagna,G.,Lanvin,V.,Petrucciani,T.&Siek,J.G.(2019)《渐进式打字:一个新视角》。程序。ACM计划。语言30(POPL),0 16:1-16:32。ISSN 2475-1421。doi:doi:10.1145/3290329。
[12] 流:Javascript的静态类型检查器。网址:http://flowtype.org/
[13] Chung,B.、Li,P.、Nardelli,F.Z.和Vitek,J.(2018)卡夫卡:对象的渐进式键入。第32届欧洲面向对象编程会议(ECOOP 2018),Millstein,T.(ed),第109卷。莱布尼茨国际信息学学报(LIPIcs),德国达格斯图尔,Dagstuhl-Leibniz-Zentrum fuer Informatik出版社,第12:12:24页。国际标准图书编号978-3-95977-079-8。doi:doi:10.4230/LIPIcs。ECOOP.2018年12月。网址:http://drops.dagstuhl.de/opus/volltexte/2018/9217。
[14] Eremondi,J.、Tanter,E.和Garcia,R.(2019年7月)渐进依赖型的近似标准化。程序。ACM计划。语言30(ICFP)。doi:doi:10.1145/3341692。
[15] Felleisen,M.&Friedman,D.P.(1986)《控制操作员、SECD机器和lambda-calculus》,第193-217页。
[16] Flanagan,C.(2006年1月)混合型检查。在POPL 2006:第33届ACM SIGPLAN-SIGACT编程语言原理研讨会上,南卡罗来纳州查尔斯顿,第245-256页·Zbl 1370.68202号
[17] Garcia,R.(2013)《推算三人组,带着责备》。《ICFP’13:函数式编程国际会议记录》·Zbl 1323.68072号
[18] Garcia,R.&Cimini,M.(2015)渐进式项目的主要类型计划。第42届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,POPL’15。ACM,第303-315页·Zbl 1345.68105号
[19] Garcia,R.、Clark,A.M.和Tanter,E.(2016)《抽象渐进式打字》。第43届ACM SIGPLAN-SIGACT编程语言原理年度研讨会论文集,POPL 2016,美国纽约州纽约市:ACM,第429-442页。是978-1-4503-3549-2。doi:doi:10.1145/2837614.2837670·Zbl 1347.68081号
[20] Garca-Pérez,A.,Nogueira,P.&Sergey,I.(2014)《逐步型lambda演算的推导解释》。《2014年ACM SIGPLAN部分评估和程序操作研讨会论文集》,PEPM’14,美国纽约州纽约市:ACM,第157-168页。国际标准图书编号978-1-4503-2619-3。doi:doi:10.1145/2543728.2543742。
[21] Greenman,B.(2020年11月)深部和浅部类型。东北大学博士论文。
[22] Greenman,B.&Felleisen,M.(2018)《类型稳健性和性能谱》。程序。ACM计划。语言20(ICFP),0 71:1-71:32。ISSN 2475-1421。doi:doi:10.1145/3236766。
[23] Greenman,B.&Migeed,Z.(2018年)《关于字体标签稳定性的成本》。《ACM SIGPLAN部分评估和程序操作研讨会论文集》,PEPM’18,美国纽约州纽约市:ACM,第30-39页。国际标准图书编号978-1-4503-5587-2。doi:doi:10.1145/3162066。
[24] Gronski,J.、Knowles,K.、Tomb,A.、Freund,S.N.和Flanagan,C.(2006)Sage:灵活规范的混合检查。在方案和函数编程研讨会上,第93-104页。
[25] Henglein,F.(1994)。动态键入:语法和证明理论。科学。计算。程序220(3),0 197-230·Zbl 0809.68083号
[26] Herman,D.,Tomb,A.和Flanagan,C.(2007)高效空间渐进打字。功能程序趋势。(TFP),第28页·Zbl 1232.68025号
[27] Herman,D.、Tomb,A.和Flanagan,C.(2010)空间效率渐进式打字。高阶符号。计算。230 (2), 0 167-189. ·Zbl 1232.68025号
[28] 霍华德·W·A(1980)。构造的公式-类型概念。学术出版社。
[29] Kuhlenschmidt,A.,Almahallawi,D.&Siek,J.G.(2019)通过矫顽力实现结构类型的高效渐进分型。在编程语言设计与实现会议上,PLDI。ACM公司。
[30] Lennon Bertrand,M.、Maillard,K.、Tabareau,N.和Tanter,E。(2020)归纳结构微积分的逐步化。
[31] Lu,K.-C.(2020年4月)《逐步打字中投射表征的等效性》。印第安纳大学硕士论文。
[32] Lu,K.-C.,Siek,J.G.和Kuhlenschmidt,A.(2020年)。超矫顽力和铸型结石等效的框架。在渐进式打字研讨会上。
[33] Maidl,A.M.,Mascarenhas,F.&Ierusalimschy,R.(2014)类型化lua:lua的可选类型系统。《动态语言与应用研讨会论文集》,Dyla’14,美国纽约州纽约市:ACM,第3:1-3:10页。
[34] Matthews,J.&Findler,R.B.(2007年1月)多语言程序的操作语义。在第34届ACM SIGPLAN-SIGACT编程语言原理研讨会上·Zbl 1295.68053号
[35] Muehlboeck,F.&Tate,R.(2017年)。声音渐变打字名义上是有活力的。程序。ACM计划。语言10(OOPSLA),0 56:1-56:30。ISSN 2475-1421。doi:doi:10.1145/3133880。
[36] New,M.S.、Jamner,D.和Ahmed,A.(2019)《渐进性和参数化:首次再次结合》。程序。ACM计划。语言40(POPL),doi:doi:10.1145/3371114。
[37] Nipkow,T.、Paulson,L.C.和Wenzel,M.(2007年11月)Isabelle/HOL-高阶逻辑的证明助理,第2283卷。LNCS公司。斯普林格·Zbl 0994.68131号
[38] Siek,J.G.和Garcia,R.(2012)渐进型lambda演算的解释。方案和功能编程研讨会。
[39] Siek,J.G.和Taha,W.(2006年a)功能语言的渐进式键入。在方案和函数编程研讨会上,第81-92页。
[40] Siek,J.G.和Taha,W.(2006年12月b)。对象的渐变类型:Isabelle Formiztaion。技术报告CU-CS-1021-06,科罗拉多州博尔德:科罗拉多大学。
[41] Siek,J.G.和Taha,W.(2006年c)。逐步键入:Isabelle/Isar形式化。技术报告TR06-874,德克萨斯州休斯顿:莱斯大学。
[42] Siek,J.G.和Taha,W.(2007年8月)对象的渐进式键入。在欧洲面向对象编程会议上,第4609卷。LNCS,第2-27页。
[43] Siek,J.G.和Vachharajani,M.(2008)《逐步类型化和基于统一的推理》。在DLS中。
[44] Siek,J.G.和Vitousek,M.M.(2013)渐变类型的单调参考。CoRR,abs/1312.0694·Zbl 1335.68069号
[45] Siek,J.G.和Wadler,P.(2010年1月)《三个人》,有责任也有责任。在编程语言原理研讨会上,POPL,第365-376页·兹比尔1312.68138
[46] Siek,J.G.、Garcia,R.和Taha,W.(2009年3月)探索高阶铸件的设计空间。在欧洲规划研讨会上,ESOP,第17-31页·Zbl 1234.68060号
[47] Siek,J.G.、Thiemann,P.和Wadler,P.(2015年6月a)《指责与胁迫:首次重聚》。在编程语言设计与实现会议上,PLDI·Zbl 1522.68130号
[48] Siek,J.G.、Vitousek,M.M.、Cimini,M.和Boyland,J.T.(2015年5月b)逐步分型的细化标准。在SNAPL:编程语言进步峰会上,LIPIcs:莱布尼茨国际信息学会议记录。
[49] Siek,J.G.,Vitousek,M.M.,Cimini,M.,Tobin-Hochstadt,S.&Garcia,R.(2015年4月c)高效渐变类型的单调参考。在欧洲编程研讨会上,ESOP·Zbl 1335.68069号
[50] Takikawa,A.(2016年4月)《动态课堂组成的渐进式系统的设计、实施和评估》。东北大学博士论文。
[51] Takikawa,A.、Strickland,T.S.、Dimoulas,C.、Tobin-Hochstadt,S.和Felleisen,M.(2012年)《一流班级的渐进式打字》。在面向对象编程系统语言和应用会议上,OOPSLA’12,第793-810页。
[52] Takikawa,A.,Feltey,D.,Greenman,B.,New,M.,Vitek,J.&Felleisen,M.(2016年1月)声音渐变打字死了吗?在编程语言原理,POPL。ACM公司·Zbl 1493.68087号
[53] .团队。(2004年4月)Coq Proof Assistant参考手册-V8.0版。网址:http://coq.inia.fr。
[54] Tobin-Hochstadt,S.&Felleisen,M.(2006)《语际迁移:从脚本到程序》。动态语言研讨会。
[55] Tobin-Hochstadt,S.&Felleisen,M.(2008年1月)《类型化方案的设计和实施》。在编程语言原理研讨会上·Zbl 1295.68055号
[56] Toro,M.和Tanter,E。(2020)逐步引用。科学。计算。程序。197, 0 102496. ISSN 0167-6423。数字对象标识:https://doi.org/10.1016/j.scico.2020.102496。网址:http://www.sciencedirect.com/science/article/pii/S0167642320301052。
[57] Toro,M.、Labrada,E.和Tanter,E.(2019年)《逐步参数测定》,重温。程序。ACM计划。语言30(POPL),0 17:1-17:30。ISSN 2475-1421。doi:doi:10.1145/3290330。
[58] Verlaguet,J.和Menghrajani,A.哈克:HHVM的一种新编程语言。网址:https://code.facebook.com/posts/264544830379293/hack-a-new-programming-language-for-hvm/
[59] Vitek,J.(2016)现实世界对象的渐变类型。在脚本到程序进化研讨会中,停止。
[60] Vitousek,M.&Siek,J.(2016a)通过瞬态检查从可选到逐步键入。在脚本到程序进化研讨会中,停止。
[61] Vitousek,M.,Swords,C.&Siek,J.G.(2017)《运行时间短的大类型》。在编程语言原理研讨会上,POPL·Zbl 1380.68088号
[62] Vitousek,M.M.和Siek,J.G.(206b年10月)《开放世界中的渐进式打字》。技术报告TR729,印第安纳大学·Zbl 1380.68088号
[63] Vitousek,M.M.、Siek,J.G.和Chaudhuri,A.(2019)优化和评估瞬态渐变类型。第15届ACM SIGPLAN动态语言国际研讨会论文集,DLS 2019,美国纽约州纽约市:计算机协会,第28-41页。国际标准图书编号9781450369961。doi:doi:10.1145/3359619.3359742。
[64] Wadler,P.&Findler,R.B.(2007)类型良好的项目是不可指责的。在方案和函数编程研讨会上,第15-26页·Zbl 1234.68063号
[65] Wadler,P.&Findler,R.B.(2009年3月)良好类型的项目是不可指责的。在欧洲规划研讨会上,ESOP,第1-16页·Zbl 1234.68063号
[66] Wadler,P.&Kokke,W.(2019)《Agda编程语言基础》。可在网址:http://plfa.inf.ed.ac.uk/
[67] Xie,N.,Bi,X.&Oliveira,B.C.D.S.(2018)所有人的一致子类型。《编程语言与系统》,艾哈迈德·A·(编辑),第3-30页,查姆:施普林格国际出版公司。国际标准图书编号978-3-319-89884-1·Zbl 1418.68039号
此参考列表基于出版商或数字数学图书馆提供的信息。它的项目与zbMATH标识符启发式匹配,并且可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。