跳到主要内容
研究论文
开放式访问
可用工件/v1.1
评估的工件和可重用/v1.1

结构参数多态的参数分型

出版:2024年1月5日出版历史
跳过抽象节

摘要

我们研究了结构子类型与参数多态性和递归定义类型构造函数的相互作用。虽然在这种情况下结构子类型是无法确定的,但我们描述了类型构造函数的参数概念,然后利用它定义参数化子类型,一个概念上简单、可判定和表达的结构子类型片段,它严格概括了刚性子类型我们提出并证明了一个有效的基于饱和度的参数子类型决策过程的正确性,并通过各种示例证明了其适用性。我们还将此决策过程作为工件提供了一个实现。

工具书类

  1. 马丁·阿巴迪、卢卡·卡德利和拉梅什·维斯瓦纳坦。1996.对象和对象类型的解释。第23届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录。396–409. https://doi.org/10.1145/237721.237809谷歌学者谷歌学者
  2. 安德烈亚斯·阿贝尔(Andreas Abel)和布里吉特·皮恩特卡(Brigitte Pientka)。2016.具有Copatterns和Sized类型的基础良好的递归。J.功能。程序。,26(2016),第2条,61页。https://doi.org/10.1017/S0956796816000022谷歌学者谷歌学者
  3. 阿马尔·艾哈迈德。2004.可变状态的类型语义。博士论文。普林斯顿大学。http://www.ccs.neu.edu/home/amal/ahmedthesis.pdfAAI3136691号谷歌学者谷歌学者
  4. 阿迈勒·艾哈迈德。2006.递归和量化类型的步进索引句法逻辑关系。在编程语言和系统。3924, 69–83. https://doi.org/10.1007/11693024_6谷歌学者谷歌学者
  5. 贝尔纳多·阿尔梅达(Bernardo Almeida)、安德烈亚·莫迪多(Andrea Mordido)、彼得·蒂曼(Peter Thiemann)和瓦斯科·瓦康塞洛斯(Vasco T.Vasconcelos)。2022.具有无上下文会话类型的多形Lambda微积分。通知。计算。,289(2022),第104948条,36页。https://doi.org/10.1016/j.ic.2022.104948谷歌学者谷歌学者
  6. 贝尔纳多·阿尔梅达(Bernardo Almeida)、安德烈亚·莫迪多(Andrea Mordido)和瓦斯科·瓦康塞洛斯(Vasco T.Vasconcelos)。2020年,决定无上下文会话类型的相似性。在系统构建和分析的工具和算法中。12079, 39–56. https://doi.org/10.1007/978-3-030-45237-7_3谷歌学者谷歌学者
  7. 罗伯特·阿马迪奥(Roberto M.Amadio)和卢卡·卡德利(Luca Cardelli)。1993.细分递归类型。ACM事务处理。程序。语言系统。,15, 4 (1993), 575–631. https://doi.org/10.1145/155183.155231谷歌学者谷歌学者
  8. Andrew W.Appel和David A.McAllester。2001.基础证明携带代码递归类型的索引模型。ACM事务处理。程序。语言系统。,23, 5 (2001), 657–683. https://doi.org/10.1145/504709.504712谷歌学者谷歌学者
  9. 大卫·巴尔德(David Baelde)、阿米娜·杜马内(Amina Doumane)、丹尼斯·库珀伯格(Denis Kuperberg)和亚历克西斯·索林(Alexis Saurin),2022年。圆形和非良好证明的弹跳螺纹。第37届ACM/IEEE计算机科学逻辑年会论文集。第63条,13页。https://doi.org/10.1145/3531130.3533375谷歌学者谷歌学者
  10. J.C.M.Baeten、J.A.Bergstra和J.W.Klop。1993。生成上下文无关语言的进程的互模拟等价性的决定。美国医学会杂志,40,3(1993),653–682。https://doi.org/10.1145/174130.174141谷歌学者谷歌学者
  11. J.A.Bergstra和J.W.Klop。1984.同步通信过程代数。通知。计算。,60, 1 (1984), 109–137. https://doi.org/10.1016/S0019-9958(84)80025-X谷歌学者谷歌学者
  12. Richard Bird和Lambert Meertens。1998。嵌套数据类型。在程序构造的数学中。1422, 52–67. https://doi.org/10.1007/BFb0054285谷歌学者谷歌学者
  13. 迈克尔·勃兰特和弗里茨·亨利恩。1998年,递归型等式和子类型的共同公理化。《基础信息》,33,4(1998),309–338。https://doi.org/10.3233/FI-1998-33401谷歌学者谷歌学者
  14. 詹姆斯·布罗瑟斯顿和亚历克斯·辛普森。2010.归纳和无限下降的序贯演算。逻辑计算杂志。,21, 6 (2010), 1177–1216. https://doi.org/10.1093/logcom/exq052谷歌学者谷歌学者
  15. 路易斯·凯尔斯和弗兰克·普芬宁。2010.作为直觉主义线性命题的会话类型。《第21届并行理论国际会议论文集》。6269, 222–236. https://doi.org/10.1007/978-3-642-15375-4_16谷歌学者谷歌学者
  16. 卢卡·卡德利。1984年,《多重继承语义学》。在数据类型语义中。51–67. https://doi.org/10.1007/3-540-13346-1_2谷歌学者谷歌学者
  17. 卢卡·卡德利。1985年琥珀色。在组合器和函数编程语言中。242,21–47页。https://doi.org/10.1007/3-540-17184-3_38谷歌学者谷歌学者
  18. 卢卡·卡德利。1988.结构子类型和权力类型的概念。第15届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录。70–79. https://doi.org/10.1145/7350.73566谷歌学者谷歌学者
  19. 卢卡·卡德利(Luca Cardelli)、西蒙·马蒂尼(Simone Martini)、约翰·米切尔(John C.Mitchell)和安德烈·塞德洛夫(Andre Scedrov)。1994年,系统F的扩展和分型。通知。计算。,109, 1–2 (1994), 4–56. https://doi.org/10.1006/inco.1994.1013谷歌学者谷歌学者
  20. 卢卡·卡德利和彼得·韦格纳。1985.关于理解类型、数据抽象和多态性。ACM计算。调查。,17, 4 (1985), 471–523. https://doi.org/10.1145/6041.6042谷歌学者谷歌学者
  21. 朱塞佩·卡斯塔尼亚(Giuseppe Castagna)和阿兰·弗里希(Alain Frisch)。2005年,语义分型简介。第七届ACM SIGPLAN国际声明性编程原理与实践会议记录。198–208. https://doi.org/10.1145/1069774.10697793谷歌学者谷歌学者
  22. 朱塞佩·卡斯塔尼亚(Giuseppe Castagna)和本杰明·皮尔斯(Benjamin C.Pierce)。1994.可决定的有界量化。在第21届ACM SIGPLAN-SIGACT编程语言原理研讨会的会议记录中。151–162. https://doi.org/10.1145/174675.177844谷歌学者谷歌学者
  23. 理查德·康奈利(Richard H.Connelly)和F.洛克伍德·莫里斯(F.Lockwood Morris),1995年。Trie数据结构的一般化。数学。结构。公司。科学。,5, 3 (1995), 381–418. https://doi.org/10.1017/S0960129500000803谷歌学者谷歌学者
  24. 尼尔斯·安德斯·丹尼尔森(Nils Anders Danielsson)和托尔斯滕·阿尔滕科奇(Thorsten Altenkirch)。2010年,公开分型。在程序构造的数学中。100–118. https://doi.org/10.1007/978-3-642-13321-3_8谷歌学者谷歌学者
  25. Ankush Das、Henry DeYoung、Andrea Mordido和Frank Pfenning。2021.嵌套多态会话类型的子类型。arXiv:2103.15193。谷歌学者谷歌学者
  26. Ankush Das、Henry DeYoung、Andrea Mordido和Frank Pfenning。2022.嵌套会话类型。ACM事务处理。程序。语言系统。,44,3(2022),第19条,45页。https://doi.org/10.1145/3539656谷歌学者谷歌学者
  27. 罗文·戴维斯(Rowan Davies)。2005.实际改进类型检查。博士论文。卡内基·梅隆大学。http://reports-archive.adm.cs.cmu.edu/anon/2005/cmu-cs-05-110.pdf谷歌学者谷歌学者
  28. 亨利·德扬(Henry DeYoung)、安德烈亚·莫迪多(Andrea Mordido)、弗兰克·普芬宁(Frank Pfenning)和安库什·达斯(Ankush Das)。2023.结构参数多态性的参数分型。arXiv:2307.13661。谷歌学者谷歌学者
  29. Henry DeYoung、Andreia Mordido、Frank Pfenning和Ankush Das。2023.结构参数多态性的参数分型(工件)。https://zenodo.org/records/8423335谷歌学者谷歌学者
  30. 亨利·德扬(Henry DeYoung)、安德烈亚·莫迪多(Andrea Mordido)、弗兰克·普芬宁(Frank Pfenning)和安库什·达斯(Ankush Das)。2023.参数化子类型决策程序的标准ML实现。https://bitbucket.org/structural-types/polyte网站谷歌学者谷歌学者
  31. 斯蒂芬·多兰(Stephen Dolan)和艾伦·迈克罗夫特(Alan Mycroft)。2017年,MLsub中的多态性、亚型和类型推断。第44届ACM SIGPLAN程序设计语言原理研讨会论文集。60–72. https://doi.org/10.1145/3009837.3009882谷歌学者谷歌学者
  32. 德里克·德雷尔(Derek Dreyer)、阿马尔·艾哈迈德(Amal Ahmed)和拉尔斯·比克达尔(Lars Birkedal)。2009.逻辑分步索引逻辑关系。第24届IEEE计算机科学逻辑研讨会论文集。71–80. https://doi.org/10.109/LICS.2009.34谷歌学者谷歌学者
  33. Jana Dunfield和Frank Pfenning。2004年。三向打字检查。第31届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录。281–292. https://doi.org/10.1145/964001.964025谷歌学者谷歌学者
  34. 蒂姆·弗里曼和弗兰克·普芬宁。1991年,《美国计算机学会SIGPLAN 1991年语言设计与实现会议论文集》中ML的精化类型。268–277. https://doi.org/10.1145/113445.113468谷歌学者谷歌学者
  35. 艾米丽·弗里德曼(Emily P.Friedman)。1976.简单语言的包含问题。西奥。公司。科学。,1, 4 (1976), 297–316. https://doi.org/10.1016/0304-3975(76)90074-8谷歌学者谷歌学者
  36. 阿兰·弗里希(Alain Frisch)、朱塞佩·卡斯塔尼亚(Giuseppe Castagna)和维罗妮克·本扎肯(Véronique Benzaken)。2002.语义分类。第17届IEEE计算机科学逻辑研讨会论文集。137–146. https://doi.org/10.109/LICS.2002.1029823谷歌学者谷歌学者
  37. 西蒙·盖伊和马尔科姆·霍尔。2005.pi演算中会话类型的子类型。Acta通知。,42,2-3(2005),191–225。https://doi.org/10.1007/s00236-005-0177-z谷歌学者谷歌学者
  38. 西蒙·盖伊(Simon J.Gay)、迪奥戈·波萨斯(Diogo Poças)和瓦斯科·瓦康塞洛斯(Vasco T.Vasconcelos)。2022.无限会话类型的不同阴影。软件科学和计算结构基础。13242, 347–367. https://doi.org/10.1007/978-3-030-99253-8_18谷歌学者谷歌学者
  39. 吉恩·伊夫·吉拉德。1972年,《宗教法庭的解释》(Interpretation fonctionnelle etélimination des coupures de l'arithmétique d'ordre supérieur)。博士论文。埃迪特尔·因科努。谷歌学者谷歌学者
  40. 本·格林曼(Ben Greenman)、费比安·穆尔博克(Fabian Muehlboeck)和罗斯·泰特(Ross Tate)。2014.形成F-界多态性。ACM SIGPLAN通知,49,6(2014),89–99。https://doi.org/10.1145/2666356.2594308谷歌学者谷歌学者
  41. 希拉·格雷巴赫(Sheila A.Greibach)。1965.上下文无关短语结构语法的新范式定理。J.ACM,12,1(1965),42–52。https://doi.org/10.1145/321250.321254谷歌学者谷歌学者
  42. 拉杜·格里戈尔。2017.Java泛型正在图灵完成。ACM SIGPLAN通知,52,1(2017),73–85。https://doi.org/10.1145/3009837.3009871谷歌学者谷歌学者
  43. Jan Friso Groote和Hans Hüttel。基本过程代数的不确定等价。通知。计算。,115, 2 (1994), 354–371. https://doi.org/10.1006/inco.1994.1101(网址:https://doi.org/10.1006/inco.1994.1101)谷歌学者谷歌学者
  44. 拉尔夫·欣泽(Ralf Hinze)。2000.推广广义试验。J.功能。程序。,10, 4 (2000), 327–351. https://doi.org/10.1017/S0956796800003713谷歌学者谷歌学者
  45. Kohei Honda、Vasco T.Vasconcelos和Makoto Kubo。1998年。结构化通信编程的语言原语和类型规则。在编程语言和系统。1381, 122–138. https://doi.org/10.1007/BFb0053567谷歌学者谷歌学者
  46. 霍索亚(Haruo Hosoya)、本杰明·皮尔斯(Benjamin C.Pierce)和戴维·特纳(David N.Turner)。1998年,数据类型和子类型。未出版的手稿谷歌学者谷歌学者
  47. 杰拉德·休特。1976年,分辨率d方程dans des Langages d阶1,2,ω。博士论文。巴黎第七大学。谷歌学者谷歌学者
  48. 杰拉德·休特。1998年,普通贝姆树。数学。结构。公司。科学。,8, 6 (1998), 671–680. https://doi.org/10.1017/S0960129598002643谷歌学者谷歌学者
  49. Joxan Jaffar和J.-L.Lassez。1987.约束逻辑编程。第14届ACM SIGACT-SIGPLAN编程语言原理研讨会论文集。111–119. https://doi.org/10.1145/41625.41635谷歌学者谷歌学者
  50. 彼得·扬查尔。2021.通过一阶语法实现下推自动机的等价性。J.计算。系统科学。,115 (2021), 86–112. https://doi.org/10.1016/j.jcss.2020.07.004谷歌学者谷歌学者
  51. Patricia Johann和Enrico Ghiorzi。2021.基本嵌套类型和GADT的参数化。日志。方法。计算。科学。,17、4(2021年),第23条,50页。https://doi.org/10.46298/LMCS-17(4:23)2021谷歌学者谷歌学者
  52. Dinesh Katiyar和Sriram Sankar。1992.完全有界量化是可决定的。在ACM SIGPLAN ML及其应用研讨会上。谷歌学者谷歌学者
  53. 安德鲁·肯尼迪和本杰明·皮尔斯。2007.关于带方差的名义分型的可决定性。2007年FOOL-WOOD。http://www.cis.upenn.edu/~bc皮尔斯/paperss/variance.pdf谷歌学者谷歌学者
  54. A.J.Korenjak和J.E.Hopcroft。1966.简单决定论语言。在第七届交换与自动机理论年会上。36–46之间。https://doi.org/10.1109/SWAT.1966.22谷歌学者谷歌学者
  55. Zeeshan Lakhani、Ankush Das、Henry DeYoung、Andrea Mordido和Frank Pfenning。2022.极化分型。在编程语言和系统。13240, 431–461. https://doi.org/10.1007/978-3-030-99336-8_16谷歌学者谷歌学者
  56. 鲁道夫·列皮格雷(Rodolphe Lepigre)和克里斯托夫·拉法利(Christophe Raffalli)。2019.Curry-Style语言实用子类型。ACM事务处理。程序。语言系统。,41,1(2019),第5条,58页。https://doi.org/10.1145/3285955谷歌学者谷歌学者
  57. 保罗·布莱恩·利维。2001.按需推送值。博士论文。伦敦大学。网址:https://www.cs.bham.ac.uk/~pbl/papers/thesisqmwphd.pdf谷歌学者谷歌学者
  58. 杰伊·利加蒂(Jay Ligatti)、杰里米·布莱克本(Jeremy Blackburn)和迈克尔·纳希蒂加尔(Michael Nachtigal)。2017.关于子类型关系的完整性,以及对Iso-递归类型的应用。ACM事务处理。程序。语言系统。,39, 4 (2017), 4:1–4:36. https://doi.org/10.1145/2994596谷歌学者谷歌学者
  59. 朱利安·麦凯(Julian Mackay)、亚历克斯·波塔宁(Alex Potanin)、乔纳森·奥尔德里奇(Jonathan Aldrich)和林赛·格罗夫斯(Lindsay Groves)。2020年。可判定子类型的句法限制有界多态性。在第18届亚洲编程语言和系统研讨会上。12470, 125–144. https://doi.org/10.1007/978-3-030-64437-6_7谷歌学者谷歌学者
  60. 阿尔贝托·马泰利(Alberto Martelli)和乌戈·蒙塔纳里(Ugo Montanari),1982年。一种高效的统一算法。ACM事务处理。程序。语言系统。,4, 2 (1982), 258–282. https://doi.org/10.1145/357162.357169谷歌学者谷歌学者
  61. 安德烈亚·莫迪多(Andrea Mordido)、珍妮克·斯帕德纳(Janek Spaderna)、彼得·蒂曼(Peter Thiemann)和瓦斯科·瓦康塞洛斯(Vasco T.Vasconcelos)。2023.参数化代数协议。程序。ACM计划。Lang.,7,PLDI(2023),第163条,25页。https://doi.org/10.1145/3591277谷歌学者谷歌学者
  62. 艾伦·迈克罗夫特(Alan Mycroft)。1984.多态类型方案和递归定义。在国际编程研讨会上。167, 217–228. https://doi.org/10.1007/3-540-12925-1_41谷歌学者谷歌学者
  63. 马丁·奥德斯基和康斯坦丁·卢弗。1996年,《使类型注释发挥作用》,第23届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集。54–67. https://doi.org/10.1145/237721.237729谷歌学者谷歌学者
  64. 卢卡·帕多瓦尼。2019.无上下文会话类型推断。ACM事务处理。程序。语言系统。,41,2(2019年),第9条,37页。https://doi.org/10.1145/3229062谷歌学者谷歌学者
  65. 本杰明·皮尔斯。1994.有界量化无法确定。通知。计算。,112, 1 (1994), 131–165. https://doi.org/10.1006/inco.1994.1055谷歌学者谷歌学者
  66. 本杰明·皮尔斯。2002.类型和编程语言。麻省理工学院出版社。谷歌学者谷歌学者
  67. 约翰·雷诺兹(John C.Reynolds)。类型、抽象和参数多态性。信息处理83,IFIP第九届世界计算机大会会议记录。513–523.谷歌学者谷歌学者
  68. 约翰·雷诺兹(John C.Reynolds)。1985.类型结构的三种方法。在软件开发的数学基础中。185, 97–138. https://doi.org/10.1007/3-540-15198-2-7谷歌学者谷歌学者
  69. J.A.Robinson。1965.基于解析原理的面向机器的逻辑。J.ACM,12,1(1965),23–41。https://doi.org/10.1145/321250.321253谷歌学者谷歌学者
  70. 蒂亚克·隆普夫(Tiark Rompf)和纳达·阿明(Nada Amin)。2016.依赖对象类型(DOT)的类型稳健性。ACM SIGPLAN通知,51、10(2016)、624–641。https://doi.org/10.1145/3022671.2984008谷歌学者谷歌学者
  71. 吉尔·席尔瓦(Gil Silva)、安德烈亚·莫迪多(Andrea Mordido)和瓦斯科·瓦康塞洛斯(Vasco T.Vasconcelos)。2023.分类型无上下文会话类型。在第34届并发理论国际会议上。第279页,11:1–11:19。https://doi.org/10.4230/LIPIcs.CONCUR.2023.11谷歌学者谷歌学者
  72. 克里斯蒂安·斯卡尔卡。1997。ML精炼类型的一些决策问题。硕士论文。卡内基·梅隆大学。http://ceskalka.w3.uvm.edu/skalka-pubs/skalka-ms-thesis.ps谷歌学者谷歌学者
  73. 马文·H·所罗门。1978.带参数的类型定义。第五届ACM SIGACT-SIGPLAN编程语言原理研讨会会议记录。31–38. https://doi.org/10.1145/512760.512765谷歌学者谷歌学者
  74. 马丁·斯特芬。1999.极化高阶分型。博士论文。埃朗根-纽伦堡大学。https://martinsteffen.github.io/assets/download/thesses/diss/diss.pdf谷歌学者谷歌学者
  75. 科林·斯特林。2001.DPDA等效性的决定。西奥。公司。科学。,255, 1 (2001), 1–31. https://doi.org/10.1016/S0304-3975(00)00389-3谷歌学者谷歌学者
  76. 科林·斯特林。2001年,《DPDA等效性的可决定性导论》。在FST TCS 2001:软件技术和理论计算机科学基础。2245, 42–56. https://doi.org/10.1007/3-540-45294-X_4谷歌学者谷歌学者
  77. Géraud Sénizergues。2001.L(A)=L(B)?完整形式系统的可决定性结果。西奥。公司。科学。,251, 1 (2001), 1–166. https://doi.org/10.1016/S0304-3975(00)00285-1谷歌学者谷歌学者
  78. 彼得·蒂曼(Peter Thiemann)和瓦斯科·T·瓦斯康塞洛斯(Vasco T.Vasconelos)。2016.无上下文会话类型。第21届ACM SIGPLAN函数编程国际会议论文集。462–475. https://doi.org/10.1145/2951913.2951926谷歌学者谷歌学者
  79. Jerzy Tiuryn和PawełUrzyczyn。2002.二阶类型的亚型问题是无法解释的。通知。计算。,179, 1 (2002), 1–18. https://doi.org/10.1006/inco.2001.2950谷歌学者谷歌学者
  80. 菲利普·沃德勒。1989.免费定理!。第四届函数式编程语言和计算机体系结构国际会议论文集。347–359. https://doi.org/10.1145/99370.99404谷歌学者谷歌学者
  81. C.P.华兹华斯。1979.递归类型运算符,它不仅仅是类型方案。EATCS公报,8(1979),87–88。谷歌学者谷歌学者
  82. 乔·威尔斯(Joe B.Wells)。1995年,米切尔分型关系的不确定性。波士顿大学。http://www.cs.bu.edu/ftp/pub/jbw/types/subtyping-undeditable.ps.gz谷歌学者谷歌学者
  83. 周立涛、周耀达和布鲁诺·C·d·S·奥利维拉。2023.全部递归子类型。程序。ACM计划。Lang.,7,POPL(2023),第48条,30页。https://doi.org/10.1145/3571241谷歌学者谷歌学者

索引术语

  1. 结构参数多态的参数分型

            建议

            评论

            登录选项

            检查您是否可以通过登录凭据或您的机构访问本文。

            登录

            完全访问权限

            • 文章指标

              • 下载次数(过去12个月)173
              • 下载次数(最近6周)44

              其他指标

            PDF格式

            以PDF文件查看或下载。

            PDF格式

            电子阅读器

            使用eReader联机查看。

            电子阅读器