×

极化子类型。 (英语) Zbl 1528.68082号

谢尔盖,伊利亚(编辑),《编程语言和系统》。2022年4月2日至7日,在德国慕尼黑举行的第31届欧洲编程研讨会ESOP 2022,作为欧洲软件理论与实践联合会议ETAPS 2022的一部分。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。13240, 431-461 (2022).
总结:按呼值中类型的极化自然导致了归纳定义的可观察值(按正类型分类)和共导定义的计算(按负类型分类)的分离,伴随模式在两者之间起着中介作用。以这种分离为出发点,我们开发了一种带步进索引的类型语义表征,以捕获递归计算的观察深度。这种语义证明了一组丰富的子类型规则适用于调用推送值的等递归变量,包括变量和惰性记录。我们进一步提出了一个用于值和计算的双向语法类型系统,该系统优雅而实用地避免了在存在可变记录和惰性记录的宽度和深度子类型时进行类型推断的困难。我们通过系统地为(a)非安全类型、(b)按名称调用和(c)按值调用派生相关的子类型系统,展示了系统的灵活性,所有这些都使用类型的结构解释而非名义解释。
关于整个系列,请参见[Zbl 1516.68024号]。

MSC公司:

68号30 软件工程的数学方面(规范、验证、度量、需求等)
03B70号 计算机科学中的逻辑
68甲18 函数编程和lambda演算
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Abadi,M.,Fiore,M.P.:递归类型的句法考虑。摘自:第11届IEEE计算机科学逻辑年会论文集。第242-252页。IEEE计算机学会(1996),doi:10.1109/LICS.1996.561324
[2] Abel,A.:大小字体的极化子类型。在:《计算机科学-理论与应用》,俄罗斯第一届国际计算机科学研讨会,CSR 2006,俄罗斯圣彼得堡,2006年6月8日至12日,会议记录。计算机科学课堂讲稿,第3967卷,第381-392页。斯普林格(2006)。doi:10.1007/11753728_39·Zbl 1142.68326号
[3] Abel,A.:混合归纳/共归纳类型和强归一化。在:编程语言与系统,第五届亚洲研讨会,APLAS 2007,新加坡,2007年11月29日至12月1日,会议记录。计算机科学课堂讲稿,第4807卷,第286-301页。斯普林格(2007)。doi:10.1007/978-3-540-76637-7_19·兹比尔1138.68023
[4] Abel,A.:基于类型的终止、通货膨胀定点和混合电感类型。收录:Miller,D.,Esik,Z.(编辑)第八届计算机科学不动点研讨会论文集。第1-11页。FICS 2012,《理论计算机科学电子论文集》77(2012)。doi:10.4204/EPTCS.77.1·Zbl 1457.68058号
[5] Abel,A.,Pientka,B.:具有共同模式的基础良好的递归:终止和生产力的统一方法。收录:Morrisett,G.,Uustalu,T.(编辑)函数编程国际会议(ICFP’13)。第185-196页。ACM,马萨诸塞州波士顿(2013年9月),doi:10.1145/2500365.2500591·Zbl 1323.68087号
[6] Abel,A.,Pientka,B.:具有共同模式和大小类型的资金充足的递归。函数编程杂志26,e2(2016),doi:10.1017/S0956796816000022·Zbl 1420.68031号
[7] Ahmed,A.J.:可变状态的类型语义。普林斯顿大学博士论文(2004),http://www.ccs.neu.edu/home/amal/ahmedthesis.pdf,aAI3136691
[8] Ahmed,A.J.:递归和量化类型的阶梯式句法逻辑关系。摘自:Sestoft,P.(ed.)第15届欧洲编程研讨会(ESOP 2006)。第69-83页。施普林格LNCS 3924,奥地利维也纳(2006年3月)。doi:10.1007/11693024_6·Zbl 1178.68146号
[9] Amadio,R.M.,Cardelli,L.:递归类型的子类型。《美国计算机学会编程语言与系统学报》15(4),575-631(1993),doi:10.1145/155183.155231
[10] Appel,A.W.,McAllester,D.A.:基本校对代码的递归类型索引模型。编程语言与系统学报23(5),657-683(2001),doi:10.1145/504709.504712
[11] Barwise,J.:《逻辑中的情境》,CSLI系列讲座笔记,第17卷。CSLI(1989)·Zbl 0664.03003号
[12] Berardi,S.,Tatsuta,M.:直觉主义Podelski-Rybalchenko定理和归纳定义与循环证明之间的等价性。摘自:Círstea,C.(编辑)计算机科学中的协代数方法研讨会(CMCS 2018)。第13-33页。施普林格LNCS 11202,希腊塞萨洛尼基(2018年4月),doi:10.1007/978-3-030-00389-0_3·Zbl 1520.03008号
[13] Brandt,M.,Henglein,F.:递归类型等式和子类型的共导公理化。基础信息学33(4),309-338(1998),doi:10.3233/FI-998-33401·Zbl 0902.68105号
[14] Brotherston,J.,Simpson,A.:归纳和无限下降的序贯演算。《逻辑与计算杂志》21(6),1177-1216(2011),doi:10.1093/log.com/exq052·Zbl 1242.03084号
[15] Castagna,G.,Frisch,A.:语义子类型的温和介绍。摘自:2005年7月11日至13日在葡萄牙里斯本举行的第七届ACM SIGPLAN国际声明性编程原则和实践会议记录。第198-199页。ACM(2005),doi:10.1145/1069774.10697793·Zbl 1082.68581号
[16] Castagna,G.,Nguyen,K.,Xu,Z.,Abate,P.:具有集合理论类型的多形函数:第2部分:局部类型推断和类型重建。摘自:第42届ACM SIGPLAN-SIGACT编程语言原理年度研讨会论文集。第289-302页。POPL’15,美国纽约州纽约市计算机协会(2015)。doi:10.1145/2676726.2676991·Zbl 1345.68041号
[17] Castagna,G.,Nguyen,K.,Xu,Z.,Im,H.,Lenglet,S.,Padovani,L.:具有集合理论类型的多形函数:第1部分:语法、语义和评估。摘自:第41届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集。第5-17页。POPL’14(2014)。doi:10.1145/2535838.2535840·Zbl 1284.68126号
[18] Castagna,G.,Petrucciani,T.,Nguyen,K.:多态性变体的集合理论类型。第21届ACM SIGPLAN国际功能编程会议论文集(2016),doi:10.1145/3022670.2951928·Zbl 1360.68318号
[19] Chen,T.C.,Dezani-Ciancaglini,M.,Yoshida,N.:关于会话类型中子类型的准确性。摘自:《声明性编程原则与实践会议记录》(PPDP'14)。ACM,坎特伯雷,英国(2014年9月),doi:10.1145/2643135.2643138·Zbl 1398.68360号
[20] Cockett,J.R.B.:森林砍伐、项目转型和削减。收录于:计算机科学中的协同代数方法,CMCS 2001,ETAPS 2001卫星活动,意大利热那亚,2001年4月6日至7日。理论计算机科学电子笔记,第44卷,第88-127页。Elsevier(2001),doi:10.1016/S1571-0661(04)80904-6·Zbl 1260.68237号
[21] Cohen,L.,Rowe,R.N.S.:通过闭包算子和证明循环集成归纳和共归纳。第十届国际自动推理联合会议(IJCAR 2020)。第375-394页。施普林格LNCS 12166,法国巴黎(2020年7月),doi:10.1007/978-3-030-51074-9_21·兹伯利07614523
[22] Danielsson,N.A.,Altenkirch,T.:分类,声明性。摘自:第十届国际程序构造数学会议(MPC 2010)。第100-118页。施普林格LNCS 6120,加拿大魁北克市(2010年6月),doi:10.1007/978-3642-13321-3_8·Zbl 1286.68074号
[23] Das,A.、DeYoung,H.、Mordido,A.、Pfenning,F.:嵌套会话类型。收录:Yoshida,N.(编辑)第30届欧洲编程研讨会。第178-206页。施普林格LNCS,卢森堡,卢森堡(2021年3月),http://www.cs.cmu.edu/fp/papers/esop21.pdf,扩展版可用作arXiv:2010.06482·Zbl 1473.68113号
[24] Davies,R.:实用改进类型检查。卡内基梅隆大学博士论文(2005年5月),https://www.cs.cmu.edu/rwh/students/davies.pdf,作为技术报告CMU-CS-05-110提供
[25] Davies,R.,Pfenning,F.:交叉类型和计算效果。摘自:Wadler,P.(ed.)《第五届函数式编程国际会议论文集》(ICFP'00)。第198-208页。加拿大蒙特利尔ACM出版社(2000年9月),doi:10.1145/351240.351259·Zbl 1321.68147号
[26] Dolan,S.:代数分型:2017年杰出论文。BCS,斯温登,GBR(2017),https://www.cs.tufts.edu/编号:/cs257/archive/stephen-dolan/thesis.pdf
[27] Dreyer,D.,Ahmed,A.,Birkedal,L.:逻辑步骤诱导逻辑关系。摘自:2009年8月11日至14日在美国加利福尼亚州洛杉矶举行的第24届IEEE计算机科学逻辑研讨会论文集,LICS 2009,第71-80页。IEEE计算机学会(2009),doi:10.1109/LICS.2009.34
[28] Dreyer,D.,Timany,A.,Krebbers,R.,Birkedal,L.,Jung,R.:你真的想证明什么类型的稳健性定理?(2019年10月),https://blog.sigplan.org/2019/10/17/what-type-soundness-theorem-do-you-really-want-to-rove
[29] Dunfield,J.,Krishnaswami,N.:双向键入。CoRR abs/1908.05839(2019),网址:http://arxiv.org/abs/11908.05839
[30] Dunfield,J.,Krishnaswami,N.R.:对存在型和索引型的高秩多态性进行完善的双向类型检查。程序。ACM计划。语言3(POPL),9:1-9:28(2019)。数字对象标识代码:10.1145/3290322
[31] Dunfield,J.,Pfenning,F.:按值调用语言中交集和并集的类型分配。收录:Gordon,A.(编辑)《第六届软件科学和计算结构基础国际会议论文集》(FOSSACS’03)。第250-266页。Springer-Verlag LNCS 2620,波兰华沙(2003年4月),doi:10.1007/3-540-36576-1_16·Zbl 1029.68098号
[32] Dunfield,J.,Pfenning,F.:三向类型检查。收录于:X.Leroy(编辑)第31届程序设计语言原理年度研讨会会议记录(POPL'04)。第281-292页。ACM出版社,意大利威尼斯(2004年1月),doi:10.1145/964001.964025,扩展版可作为技术报告CMU-CS-04-1172004年3月获得·Zbl 1325.68062号
[33] Ehrhard,T.,Tasson,C.:按推值进行概率调用。日志。方法计算。科学。15(1)(2019),doi:10.23638/LMCS-15(1:3)2019·Zbl 1509.68041号
[34] Freeman,T.,Pfenning,F.:ML的精化类型。In:SIGPLAN’91语言设计和实现研讨会论文集。第268-277页。安大略省多伦多市ACM出版社(1991年6月),doi:10.1145/113445.113468
[35] Frisch,A.,Castagna,G.,Benzaken,V.:语义子类型。摘自:第17届IEEE计算机科学逻辑研讨会(LICS 2002),2002年7月22日至25日,丹麦哥本哈根,会议记录。第137-146页。IEEE计算机学会(2002),doi:10.1109/LICS.2002.1029823·Zbl 1325.68136号
[36] Frisch,A.,Castagna,G.,Benzaken,V.:语义子类型:从理论上处理集合的函数、并集、交集和否定类型。J.ACM 55,19:1-19:64(2008),doi:10.1145/1391289.1391293·兹比尔1325.68136
[37] Gapeyev,V.,Levin,M.Y.,Pierce,B.C.:递归子类型揭示:功能性珍珠。2000年9月18日至21日,加拿大蒙特利尔,第五届ACM SIGPLAN功能编程国际会议(ICFP'00)会议记录。第221-231页。美国医学会(2000),doi:10.1145/351240.351261·Zbl 1321.68153号
[38] Garcia,R.,Tanter,E.:逐渐打字,好像类型很重要。在:ACM SIGPLAN渐进式打字研讨会(WGT20)(2020年)的非正式会议记录中,https://wgt20.irif.fr/wgt20-final28-acmpaginated.pdf
[39] Gay,S.J.,Hole,M.:(pi)演算中会话类型的子类型。信息学学报42(2-3),191-225(2005),doi:10.1007/s00236-005-0177-z·Zbl 1079.68065号
[40] Gay,S.J.,Vasconcelos,V.T.:异步会话类型的线性类型理论。函数编程杂志20(1),19-50(2010年1月),doi:10.1017/S09567968099990268·Zbl 1185.68194号
[41] Grädel,E.,Kreutzer,S.:通货紧缩会导致消耗吗?关于非单调不动点归纳。In:计算机科学中的逻辑专题讨论会(LICS 2003)。第158-167页。IEEE计算机学会,加拿大渥太华(2003年6月),doi:10.1109/LICS.2003.1210055
[42] Harper,R.:编程语言的实用基础。剑桥大学出版社,第二版。(2016年4月)·Zbl 1347.68001号
[43] Hermida,C.,Jacobs,B.:纤维背景下的结构归纳和共归纳。Inf.计算。145(2),107-152(1998),doi:10.1006/inco.1998.2725·Zbl 0941.18006号
[44] Hinrichsen,J.K.,Loulink,D.,Krebbers,R.,Bengtson,J.:机器检查语义会话类型。参加:CPP’21:第十届ACM SIGPLAN认证程序和证明国际会议,虚拟活动,丹麦,2021年1月17日至19日。第178-198页。ACM(2021年)。doi:10.1145/3437992.3439914
[45] Jafery,K.A.,Dunfield,J.:不确定性总和:细化是渐进的。2017年1月18日至20日,法国巴黎,2017年POPL,第44届ACM SIGPLAN编程语言原则研讨会论文集。第804-817页。ACM(2017)。doi:10.1145/3009837.3009865·Zbl 1380.68094号
[46] Jones,T.,Pearce,D.J.:递归类型上的子类型的机械可靠性证明。摘自:第18届类Java程序形式化技术研讨会会议记录,ECOOP时的FTfJP2016年7月17日至22日,意大利罗马。第1页。ACM(2016)。doi:10.1145/2955811.2955812
[47] Jung,R.、Jourdan,J.、Krebbers,R.和Dreyer,D.:Rustbelt:保护rust编程语言的基础。程序。ACM计划。语言2(POPL),66:1-66:34(2018)。doi:10.1145/3158154
[48] Komendantsky,V.:通过将归纳关系折叠为共推关系来进行分类。2011年5月16日至18日,西班牙马德里,第12届国际研讨会,《函数编程趋势》。计算机科学课堂讲稿,第7193卷,第17-32页。Springer(2011),doi:10.1007/978-3642-32037-8_2
[49] Lakhani,Z.,Das,A.,DeYoung,H.,Mordido,A.,Pfenning,F.:极化亚型。CoRR abs/2201.10999v1(2022),https://arxiv.org/abs/2201.10998v1,扩展版本。
[50] Lakhani,Z.,Das,A.,DeYoung,H.,Mordido,A.,Pfenning,F.:极化子类型:代码/人工制品(2022年1月)。doi:10.5281/zenodo.5913940
[51] Lepigre,R.,Raffalli,C.:基于子类型的系统F的类型选择,带有归纳法和共归纳法。CoRR abs/1604.01990(2016),http://arxiv.org/abs/1604.01990
[52] Lepigre,R.,Raffalli,C.:Curry-style语言的实用子类型。《美国计算机学会编程语言与系统学报》(TOPLAS)41,1-58(2019),doi:10.1145/3285955
[53] Levy,P.B.:呼叫推送值。伦敦大学博士论文(2001),网址:http://www.cs.bham.ac.uk/pbl/papers/thessqmwphd.pdf
[54] Levy,P.B.:Call-by-push-value:分解Call-by-value和Call-by-name。高阶和符号计算19(4),377-414(2006),doi:10.1007/s10990-006-0480-6·Zbl 1112.68025号
[55] Ligatti,J.、Blackburn,J.和Nachtigal,M.:关于子类型关系完备性,以及对等递归类型的应用。《美国计算机学会编程语言与系统学报》39(4),4:1-4:36(2017年3月),doi:10.1145/2994596
[56] McDermott,D.,Mycroft,A.:扩展的按需调用值:关于有效程序和评估顺序的推理。摘自:《编程语言与系统——第28届欧洲编程研讨会,2019年ESOP》,作为欧洲软件理论与实践联合会议的一部分,ETAPS 2019,捷克共和国布拉格,2019,4月6日至11日,会议记录。计算机科学课堂讲稿,第11423卷,第235-262页。斯普林格(2019),doi:10.1007/978-3-030-17184-1_9
[57] Milner,R.:编程中的类型多态理论。《计算机与系统科学杂志》17,348-375(1978年8月),doi:10.1016/0022-0000(78)90014-4·Zbl 0388.68003号
[58] Munch Maccagnoni,G.:程序和证明的非联想组合的语法和模型。(Syntaxe et modèles d'une composition non-association des programmes et des preuves)。法国巴黎迪德罗大学博士论文(2013),https://tel.archives-ouvertes.fr/tel-00918642
[59] Nakata,K.,Uustalu,T.:使用交互式I/O时的恢复、弱双相似性和大步语义:混合归纳法练习。摘自:《结构操作语义学第七届研讨会论文集》,SOS 2010,巴黎,法国,2010年8月30日。EPTCS,第32卷,第57-75页(2010年),doi:10.4204/EPTCS.32.5·Zbl 1455.68100号
[60] New,M.S.,Licata,D.R.,Ahmed,A.:渐进式理论。程序。ACM计划。Lang.3(POPL),15:1-15:31(2019),doi:10.1145/3290328
[61] Park,D.M.R.:关于公平并行的语义。In:Bjørner,D.(编辑)《抽象软件规范》,1979年哥本哈根冬季学校,1979年1月22日至2月2日,《会议记录》。计算机科学课堂讲稿,第86卷,第504-526页。斯普林格(1979),doi:10.1007/3-540-10007-5_47·Zbl 0456.68028号
[62] Parreaux,L.:代数子类型的简单本质:具有子类型的主类型推理变得容易(函数珍珠)。程序。ACM计划。Lang.4(ICFP),124:1-124:28(2020),doi:10.1145/340006
[63] Patrignani,M.,Martin,E.M.,Devriese,D.:关于递归类型的语义表达。美国计算机学会程序设计语言会议录5,1-29(2021),doi:10.1145/3434302
[64] Pédrot,P.,Tabarau,N.:火三角:如何混合替代、依赖消除和效果。程序。ACM计划。语言4(POPL),58:1-58:28(2020),doi:10.1145/3371126
[65] Petrucciani,T.:函数语言的多形集合理论类型。(类型集合包括多态性pour les langages功能)。法国巴黎索邦大学博士论文(2019年),https://tel.archives-ouvertes.fr/tel-02119930
[66] Petrucciani,T.、Castagna,G.、Ancona,D.、Zucca,E.:非限定语言的语义子类型。参加:2018年6月18日至21日在葡萄牙布拉加举行的第24届国际证明类型和程序会议,Types 2018。LIPIcs,第130卷,第4:1-4:24页。达格斯图尔宫(Schloss Dagstuhl)-莱布尼兹·泽特鲁姆(Leibniz-Zentrum für Informatik)(2018年)。doi:10.4230/LIPIcs。类型2018.4,https://arxiv.org/abs/1810.05555 ·Zbl 07561489号
[67] Pierce,B.:类型和编程语言。麻省理工学院出版社(2002)·Zbl 0995.68018号
[68] Pierce,B.C.,Turner,D.N.:局部类型推断。收录于:第25届程序设计语言原理研讨会会议记录(POPL'98)(1998),doi:10.1145/268946.268967,《美国计算机学会程序设计语言与系统学报》(TOPLAS)全文,22(1),2000年1月,第1-44页
[69] Raffalli,C.:L'arthmetique fonctionnelle du second ordre avec点修复。巴黎7大学博士论文(1994年),http://www.theses.fr/1994PA077080《Jean-Louis Mathématiques》,《Dirige e par Krivine博士》。1994年7月巴黎信息时代的逻辑和基础
[70] Reynolds,J.C.:编程语言Forsythe的设计。卡内基梅隆大学技术代表CMU-CS-96-146(1996年6月)
[71] Rioux,N.,Zdancewic,S.:计算聚焦。程序。ACM计划。语言4(ICFP),95:1-95:27(2020)。数字对象标识代码:10.1145/3408977
[72] Steffen,M.:极化高阶子类型。德国埃朗根-纽伦堡大学博士论文(1999年),http://d-nb.info/958020493
[73] Urzyczyn,P.:正递归类型赋值。1995年:计算机科学数学基础。第382-391页。施普林格-柏林-海德堡,柏林,海德堡(1995),doi:10.1007/3-540-60246-1_144·兹比尔1193.68076
[74] Vanderwaart,J.、Dreyer,D.、Petersen,L.、Crary,K.、Harper,R.、Cheng,P.:递归数据类型的类型化编译。2003年1月18日,美国路易斯安那州新奥尔良,《TLDI’03:2003 ACM SIGPLAN语言设计与实现类型国际研讨会论文集》。第98-108页。ACM(2003),doi:10.1145/604174.604187
[75] Zeilberger,N.:评估顺序和模式匹配的逻辑基础。美国卡内基梅隆大学博士论文(2009年),http://noamz.org/thesis.pdf
[76] Zhou,Y.,d.S.Oliveira,B.C.,Zhao,J.:重新审视等递归亚型。程序。ACM计划。Lang.4(OOPSLA),223:1-223:28(2020),doi:10.1145/3428291
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。