安德鲁·肯尼迪。;克劳迪奥·拉索五世。 将G转换为\(\text{C}^{sharp}\):面向对象语言中广义代数数据类型的表示性。 (英文) Zbl 1397.68025号 西奥。计算。科学。 741, 3-18 (2018). 概要:广义代数数据类型(GADT)是函数编程社区中的一个热门话题。前面我们展示了面向对象的语言,例如\(\text{C}^\sharp)和Java可以使用泛型来表示GADT声明,但只能使用一些GADT程序。在类型参数上添加等式约束可以恢复表达能力。现在,我们通过将早期的从SystemF到\(\text{C}^\sharp\)的转换扩展到处理GADT,来更深入地研究这种表达能力差距。我们的努力揭示了泛型的一些令人惊讶的局限性,并为等式约束提供了进一步的理由。 MSC公司: 68甲15 编程语言理论 第68页第19页 其他编程范式(面向对象、顺序、并发、自动等) 第68季度第65季度 抽象数据类型;代数规范 关键词:广义代数数据类型;泛型;多态性;系统F;C类# PDF格式BibTeX公司 XML格式引用 \textit{A.J.Kennedy}和\textit{C.V.Russo},Theor。计算。科学。741,3--18(2018;Zbl 1397.68025) 全文: 内政部 参考文献: [1] J.切尼。;Hinze,R.,第一类模型类型,(2003),康奈尔大学,1901年技术报告 [2] 埃米尔,伯拉克;安德鲁·肯尼迪(Andrew J.Kennedy)。;拉索、克劳迪奥;Yu,Dacchuan,C#泛型的方差和广义约束,(欧洲面向对象编程会议(ECOOP),2006年7月) [3] Hejlsberg,A。;Wiltamuth,S。;Golde,P.,C#2.0版规范,(2005),可从 [4] 肯尼迪,A.J。;Russo,C.,《广义代数数据类型和面向对象编程》,(OOPSLA’05:第20届ACM SIGPLAN面向对象编程系统、语言和应用年会,(2005),ACM出版社) [5] 肯尼迪,A.J。;Syme,D.,《的泛型设计与实现》。NET公共语言运行时,(编程语言设计与实现,(2001),ACM) [6] 肯尼迪,A.J。;Syme,D.,将F转换为\(\text{C}^\sharp\):面向对象语言中参数多态性的表现力,Concurr。计算。,16, 707-733, (2004) [7] 阿里·米德尔科普;阿泽·迪杰斯特拉(Atze Dijkstra);Swierstra,S.,GADT的精益规范:具有一流等式证明的系统F,High-订购符号。计算。,23, 145-166, (2010) ·Zbl 1232.68029号 [8] 米那米,Y。;莫里塞特,G。;Harper,R.,类型闭包转换,(美国计算机学会编程语言原理研讨会,佛罗里达州圣彼得堡,(1996年1月)),271-283 [9] Odersky,M。;Läufer,K.,《使用类型注释》(ACM编程语言原理研讨会,(1996),ACM) [10] S.Peyton Jones,G.Washburn,S.Weirich,《摇摆类型:广义代数数据类型的类型推断》,Draft,2004年7月。;S.Peyton Jones,G.Washburn,S.Weirich,《摇摆类型:广义代数数据类型的类型推断》,Draft,2004年7月。 [11] Peyton Jones,Simon,GHC编译器6.4版(2005年3月),下载地址: [12] Pottier,F。;Gauthier,N.,Polymorphic typed defonfunctionalization,(第31届ACM编程语言原理研讨会,POPL'04,意大利威尼斯,(2004年1月)),89-98·Zbl 1325.68049号 [13] Pottier,F。;Régis-Gianas,Y.,《迈向高效类型LR解析器》(ACM ML研讨会,电子注释理论计算科学,(2005年9月),149-173 [14] Pottier,F。;Régis-Gianas,Y.,广义代数数据类型的分层类型推理,(第33届ACM编程语言原理研讨会论文集,POPL'06,南卡罗来纳州查尔斯顿,(2006年1月))·Zbl 1369.68114号 [15] 马丁·苏尔兹曼(Martin Sulzmann);Manuel M.T.Chakravarty。;西蒙·佩顿(Simon Peyton)琼斯(Jones);Kevin Donnelly,System F with type equality corecions,(2007年ACM SIGPLAN语言设计与实现类型国际研讨会论文集,TLDI’07,(2007),美国纽约州纽约市ACM),53-66 [16] Stephanie Weirich,从非类型化源生成类型化项的类型检查员,Lennart Augusson在Dagstuhl’04设置的挑战响应,在ghc回归套件中( [17] Xi,H。;陈,C。;Chen,G.,Guarded recursive datatype constructors,(POPL'03:第30届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集,(2003),ACM出版社),224-235·Zbl 1321.68161号 此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。