摘要
补充材料
可供下载
佩德罗·恩格洛和马里奥·弗洛里多。 2022.使用集合统一的秩2交集类型的类型推断。 计算理论方面——ICTAC 2022:第19届国际学术讨论会,格鲁吉亚第比利斯,2022年9月27日至29日,会议记录。 施普林格出版社,柏林,海德堡。462–480。 国际标准编号:978-3-031-17714-9 https://doi.org/10.1007/978-3-031-17715-6_29 谷歌学者 弗朗科·巴巴内拉(Franco Barbanera)、马里安吉拉·德扎尼·西安卡利尼(Mariangiola Dezani-Ciancaglini)和乌戈·德利古罗(Ugo de’Liguoro)。 1995.交叉和联合类型。 信息计算。, 119,2(1995),202-230年6月。 编号:0890-5401 https://doi.org/10.1006/inco.1995.1086 谷歌学者 维维亚娜·博诺(Viviana Bono)、贝蒂·文内里(Betti Venneri)和洛伦佐·贝蒂尼(Lorenzo Bettini)。 2008.具有交集类型的类型化lambda演算。 西奥。 计算。 科学。, 398, 1-3 (2008), 95–113. https://doi.org/10.1016/j.tcs.2008.01.046 谷歌学者 朱塞佩·卡斯塔尼亚。 2023.使用并集、交集和求反类型编程。 在法国编程学院,Bertrand Meyer(Ed.)。 斯普林格。 编号:978-3-031-34517-3 isbn 978-3-0.31-34517.3。 arxiv预打印:2111.03354 谷歌学者 朱塞佩·卡斯塔尼亚。 2023.键入记录、地图和结构。 程序。 ACM计划。 Lang.,7,ICFP(2023),第196条,9月,45页。 https://doi.org/10.1145/3607838 谷歌学者 朱塞佩·卡斯塔尼亚(Giuseppe Castagna)、纪尧姆·杜博克(Guillaume Duboc)和何塞·瓦利姆(JoséValim)。 2023.长生不老药型系统的设计原则。 编程的艺术、科学与工程,8,2(2023), https://doi.org/10.22152/programming-journal.org/2024/8/4 ArXiv预打印: 谷歌学者 朱塞佩·卡斯塔尼亚(Giuseppe Castagna)、维克托·兰文(Victor Lanvin)、米卡·洛朗(Mickaöl Laurent)和金·阮(Kim Nguyen)。 2022.重新查看事件类型。 《计算机程序设计科学》,217(2022),1781年3月10日。 发行号:0167-6423 https://doi.org/10.1016/j.scico.2022.102781 arXiv:1907.05590。 谷歌学者 朱塞佩·卡斯塔尼亚、米卡·洛朗和金·阮。 2023.原型:动态语言的多态类型推断。 https://doi.org/10.5281/zenodo.10155221 谷歌学者 朱塞佩·卡斯塔尼亚、米卡·洛朗和金·阮。 2024.动态语言的多态类型推断(扩展版)。 https://doi.org/10.1145/3632882 谷歌学者 朱塞佩·卡斯塔尼亚(Giuseppe Castagna)、米卡·洛朗(Mickaöl Laurent)、金·阮(Kim Nguyen)和马修·卢茨(Matthew Lutze)。 2022.关于类型案例、联合消除和发生类型。 程序。 ACM计划。 Lang.,6,POPL(2022),第13条,1月,31页。 https://doi.org/10.1145/3498674 谷歌学者 朱塞佩·卡斯塔尼亚(Giuseppe Castagna)、金恩恩(Kim Nguyen)、徐志武(Zhiwu Xu)和彼得罗·阿巴特(Pietro Abate)。 2015.具有集合理论类型的多态函数。 第二部分:局部类型推理与类型重构。 第42届ACM SIGPLAN编程语言原理研讨会(POPL’15)会议记录。 289–302之间。 https://doi.org/10.1145/2676726.2676991 谷歌学者 朱塞佩·卡斯塔尼亚(Giuseppe Castagna)、托马索·彼得鲁奇亚尼(Tommaso Petrucciani)和金·阮(Kim Nguyen)。 2016.多态变异体的集合理论类型。 在2016年ICFP第21届ACM SIGPLAN功能编程国际会议上。 378–391. https://doi.org/10.1145/2951913.2951928 谷歌学者 朱塞佩·卡斯塔尼亚和徐志武。 2011.参数多态性和亚型的理论基础。 在ICFP'11:第16届ACM-SIGPLAN函数式编程国际会议上。 94–106. https://doi.org/10.1145/2034773.2034788 谷歌学者 CDuce编译器。 https://www.cduce.org 谷歌学者 Mario Coppo、Mariangiola Dezani-Ciancaglini和Betti Venneri,1981年。 可解项的功能特征。 《数理逻辑季刊》,27,2-6(1981),45-58。 https://doi.org/10.1002/malq.19810270205 谷歌学者 路易斯·达马斯和罗宾·米尔纳。 1982.功能程序的主要类型方案。 第九届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL)会议记录。 计算机械协会,美国纽约州纽约市207–212。 编号:0897910656 https://doi.org/10.1145/582153.582176 谷歌学者 玛丽安吉拉·德扎尼。 2020年个人通信 谷歌学者 斯蒂芬·多兰(Stephen Dolan)和艾伦·迈克罗夫特(Alan Mycroft)。 2017年,MLsub中的多态性、亚型和类型推断。 在第44届ACM SIGPLAN编程语言原理研讨会的会议记录中,Giuseppe Castagna和Andrew D.Gordon(编辑)(POPL’17)。 计算机械协会,美国纽约州纽约市,60-72。 编号:9781450346603 https://doi.org/10.1145/3009837.3009882 谷歌学者 埃克玛。 2021.ECMAScript®2021语言规范。 https://262.ecma-international.org/12.0/ 谷歌学者 流量。 https://flow.org/ 谷歌学者 阿兰·弗里希(Alain Frisch)、朱塞佩·卡斯塔尼亚(Giuseppe Castagna)和维罗妮克·本扎肯(Véronique Benzaken)。 2002.语义分类。 在LICS’02,第17届IEEE计算机科学逻辑年会上。 IEEE计算机学会出版社,137-146。 https://doi.org/10.109/LICS.2002.1029823 谷歌学者 阿兰·弗里希(Alain Frisch)、朱塞佩·卡斯塔尼亚(Giuseppe Castagna)和维罗妮克·本扎肯(Véronique Benzaken)。 2008.语义子类型:从理论上处理函数、并集、交集和否定类型。 ACM杂志,55,4(2008),9月,19:1–19:64。 编号:0004-5411 https://doi.org/10.1145/1391289.1391293 谷歌学者 尼尔斯·盖斯伯特(Nils Gesbert)、皮埃尔·杰奈维斯(Pierre Genevès)和纳比尔·拉伊达(Nabil Layaída)。 2015.确定语义子类型的逻辑方法。 《美国计算机学会编程语言与系统汇刊》,38,1(2015),3。 https://doi.org/10.1145/2812805 谷歌学者 迈克尔·格林伯格,2019年。 渐进式打字的动态实践和静态理论。 第三届程序设计语言进步峰会(SNAPL 2019)(莱布尼茨国际信息学论文集,第136卷)。 6:1–6:20. 国际编号:978-3-95977-113-9国际编号:1868-8969 https://doi.org/10.4230/LIPIcs.SNAPL.2019.6 谷歌学者 弗里茨·亨莱因。 1993年。具有多态递归的类型推断。 ACM事务处理。 程序。 语言系统。, 15,2(1993年),4月253-289日。 发行号:0164-0925 https://doi.org/10.1145/169701.169692 谷歌学者 J.罗杰·辛德利。 1969.组合逻辑中对象的主要类型模式。 事务处理。 阿默尔。 数学。 《社会学杂志》,146(1969),29-60。 发行编号:00029947 https://doi.org/10.2307/1995158 谷歌学者 阿兰·杰弗里。 2022.Luau中的语义子类型。 Roblox技术博客。 https://blog.roblex.com/2022/11/semantic-subtyping-luau 2023年5月6日访问 谷歌学者 特雷弗·吉姆。 2000年。极地型系统。 2000年7月9日至15日,瑞士日内瓦第27届国际自动化、语言和编程学术讨论会卫星研讨会会议记录,ICALP Workshops 2000,JoséD.P.Rolim、Andrei Z.Broder、Andrea Corradini、Roberto Gorrieri、Reiko Heckel、Juraj Hromkovic、Ugo Vaccaro和Joe B.Wells(编辑)。 加拿大安大略省滑铁卢Carleton Scientific,323–338。 谷歌学者 阿萨夫·克富里(Assaf J.Kfoury)、杰里·蒂乌林(Jerzy Tiuryn)和帕维·乌尔兹琴(PawełUrzyczyn)。 1993年。存在多态递归的类型重建。 ACM事务处理。 程序。 语言系统。, 15,2(1993),4月,290–311日。 发行号:0164-0925 https://doi.org/10.1145/169701.169687 谷歌学者 丹尼尔·利万特(Daniel Leivant)。 1983.多态类型推断。 在第十届ACM SIGACT-SIGPLAN编程语言原理研讨会(POPL)的会议记录中。 计算机械协会,美国纽约州纽约市,88–98。 编号:0897910907 https://doi.org/10.1145/567067.567077 谷歌学者 路易吉·利科里和西蒙娜·隆奇·德尔拉·罗卡。 2007年,教堂交叉类型。 信息计算。, 205, 9 (2007), 1371–1386. https://doi.org/10.1016/j.ic.2007.03.005 谷歌学者 卢。 卢。 https://luau-lang.org/ 谷歌学者 David MacQueen、Gordon Plotkin和Ravi Sethi。 递归多态类型的理想模型。 信息与控制,71,1(1986),95–130。 发行编号:0019-9958 https://doi.org/10.1016/S0019-9958 (86)80019-5 谷歌学者 根据Martin-Löf。 1994年。类型理论中的分析和综合判断。 施普林格荷兰,多德雷赫特。 87–99.编号:978-94-011-0834-8 https://doi.org/10.1007/978-94-011-0834-8_5 谷歌学者 TypeScript。 https://www.typescriptlang.org/ 谷歌学者 罗宾·米尔纳。 1978年,编程中的类型多态理论。 J.计算。 系统科学。, 17, 3 (1978), 348–375. 编号:0022-0000 https://doi.org/10.1016/0022-0000 (78)90014-4 谷歌学者 OCaml公司。 2023.标准库:地图模块。 Github存储库。 https://github.com/ocaml/ocaml/blob/trunk/stdlib/map.ml 谷歌学者 OCaml的JS。 https://ocsigen.org/js_of_ocaml网站/ 谷歌学者 布鲁诺·C·d·S·奥利维拉、石志远和若昂·阿尔皮姆。 2016年,不相交交叉类型。 SIGPLAN否。, 51,9(2016年),364-377年9月。 发行编号:0362-1340 https://doi.org/10.1145/3022670.2951945 谷歌学者 莱昂内尔·帕罗(Lionel Parreaux)和春寅洲(Chun Yin Chau)。 MLstruct:结构类型布尔代数中的主类型推断。 程序。 ACM计划。 Lang.,6,OOPSLA2(2022),第141条,10月,30页。 https://doi.org/10.1145/3563304 谷歌学者 托马索·彼得鲁奇亚尼。 2019.函数语言的多形集合理论类型。 博士论文。 热那瓦大学和巴黎迪德罗大学联合博士论文。 https://tel.archives-ouvertes.fr/tel-02119930 谷歌学者 托马索·彼得鲁奇亚尼、朱塞佩·卡斯塔尼亚、大卫·安科纳和埃琳娜·祖卡。 2018.非严格语言的语义分类。 在TYPES18:第24届国际证明和程序类型会议上,Peter Dybjer、JoséEspírito Santo和Luís Pinto(编辑)(LIPIcs,第130卷)。 4:1–4:24. https://doi.org/10.4230/LIPIcs.TYPES.2018.4 谷歌学者 Nick Rioux、Xuejing Huang、Bruno C.d.S.Oliveira和Steve Zdancewic。 2023.野兽的领结:超载、Eta扩展和F⋈中的可扩展数据类型。 程序。 ACM计划。 Lang.,7,POPL(2023),第18条,1月,29页。 https://doi.org/10.1145/3571211 谷歌学者 约翰·艾伦·罗宾逊。 1965.基于解析原理的面向机器的逻辑。 J.ACM,12,1(1965),1月23–41日。 编号:0004-5411 https://doi.org/10.1145/321250.321253 谷歌学者 西蒙娜·隆奇·德尔拉·罗卡。 2002.交叉口型lambda-calculus。 选举人。 注释Theor。 计算。 科学。, 70, 1 (2002), 163–181. https://doi.org/10.1016/S1571-0661 (04)80496-1 谷歌学者 Amr Sabry和Matthias Felleisen。 1992年.关于连续传球式课程的推理。。 1992年ACM LISP和函数编程会议记录(LFP'92)。 计算机协会,288–298。 编号:0897914813 https://doi.org/10.1145/1141471.141563 谷歌学者 阿尔伯特·辛普夫(Albert Schimpf)、斯特凡·韦尔(Stefan Wehr)和安妮特·比纽萨(Annette Bieniusa)。 2023.设置Erlang的理论类型。 第34届函数语言实现与应用研讨会(IFL’22)会议记录。 美国纽约州纽约市计算机协会第4条,共14页。 编号:9781450398312 https://doi.org/10.1145/35872216.3587220 谷歌学者 克里斯托弗·斯特拉奇。 1967年。编程语言的基本概念。 计算机编程国际暑期学校的课堂讲稿。 谷歌学者 Sam Tobin-Hochstadt和Matthias Felleisen。 2008年,类型化方案的设计和实施。 第35届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录(POPL'08)。 美国纽约州纽约市ACM,395–406。 国际标准编号:978-1-59593-689-9 https://doi.org/10.1145/1328438.1328486 谷歌学者 Sam Tobin-Hochstadt和Matthias Felleisen。 2010.非类型化语言的逻辑类型。 在第15届ACM SIGPLAN函数编程国际会议(ICFP’10)的会议记录中。 美国纽约州纽约市ACM,117-128。 国际标准编号:978-1-60558-794-3 https://doi.org/10.1145/1863543.1863561 谷歌学者 2019.我们到底应该称之为句法定向推理规则吗? 讨论类型邮件列表。 http://lists.seas.upenn.edu/pipermail/types-list/2019/002138.html 谷歌学者 约瑟夫·布莱恩·威尔斯(Joseph Brian Wells)、艾琳·迪莫克(Allyn Dimock)、罗伯特·穆勒(Robert J Muller)和弗兰克林·阿尔宾·图尔巴克(Franklyn Albin Turbak)。 2002.多态和多变量流类型演算。 J.功能。 程序。, 12, 3 (2002), 183–227. https://doi.org/10.1017/S095679680104245 谷歌学者 Joe B.Wells和Christian Haack。 2002.分支类型。 在ESOP'02(LNCS,第2305卷)中。 施普林格,115-132。 isbn:3-543363-5 https://doi.org/10.1007/3-540-45927-8_9 谷歌学者 张维欣、孙耀珠和布鲁诺·C·D·S·奥利维拉。 2021.组合编程。 ACM事务处理。 程序。 语言系统。, 43,3(2021年),第9条,9月,61页。 编号:0164-0925 https://doi.org/10.1145/3460228 谷歌学者
建议
多态性变体的集合理论类型 ICFP 2016:第21届ACM SIGPLAN功能编程国际会议记录 多态变体是OCaml语言的一个有用功能,其当前的定义和实现依赖于种类约束,通过统一来模拟子类型关系。 这将产生一种尴尬的形式化,并导致类型系统。。。 使用并集和交集类型的渐变类型 我们提出了一个具有渐变类型和集合理论类型连接词的函数语言类型系统,并证明了它的可靠性。 特别是,我们展示了如何将应用程序的域和结果类型的定义从非渐变类型提升到。。。