研究论文开放式访问 在上共享 分部类型构造函数:或,使特殊数据类型不那么特殊作者:马克·P。 琼斯,J.加勒特 莫里斯、和理查德A。 艾森伯格作者信息和声明美国计算机学会程序设计语言会议录,体积4,问题府绸文章编号:40,页数1-28https://doi.org/10.1145/3371108出版:2019年12月20日 出版历史 获取引文提醒新增引文提醒!此警报已成功添加,将发送到:只要您选择的记录被引用,您就会收到通知。新引文提醒!拜托登录到您的帐户 PDF格式电子阅读器目录美国计算机学会程序设计语言会议录体积4,问题府绸以前的文章PλωNK:功能概率NetKAT上一个下一篇文章堆叠借用:Rust的别名模型下一步摘要补充材料工具书类信息和贡献者文献计量学和引文视图选项工具书类媒体桌子分享摘要函数式编程语言假设类型构造函数是总数。然而,函数式程序员更清楚:反例的范围从对其内容进行限制性假设的容器类型(例如,要求可计算等式或排序函数)到仅在某些参数选择上定义等式的类型族。我们提出了部分类型构造函数的语言设计和形式化理论,使用限定类型捕获类型构造函数的域。我们的设计既简单又富有表现力:我们支持部分数据类型作为一级公民(包括作为参数抽象的实例,如Haskell Functor和Monad类),并展示了一种简单的类型细化算法,避免给程序员带来过多的注释负担。我们证明了我们的类型系统拒绝定义不清的类型,并且可以编译成基于system F的语义模型。最后,我们使用我们系统的概念验证实现对Haskell代码进行了实验分析;虽然有时我们的系统需要额外的注释,但在实际的Haskell代码中很少遇到这种情况。补充材料WEBM文件 (a40-jones网站)下载87.20 MB工具书类[1]Gert-Jan Bottu、Georgios Karachalias、Tom Schrijvers、Bruno C.d.S.Oliveira和Philip Wadler。2017.量化等级限制。第十届ACM SIGPLAN Haskell国际研讨会论文集(Haskell2017)。美国纽约州纽约市ACM,148-161。数字图书馆谷歌学者[2]安娜·波夫(Ana Bove)、亚历山大·克劳斯(Alexander Krauss)和马蒂厄·索索(Matthieu Sozeau)。2016.交互式定理证明程序中的偏爱和递归——概述。计算机科学中的数学结构26,1(2016),38-88。交叉参考谷歌学者[3]吉拉德·布拉查(Gilad Bracha)、马丁·奥德斯基(Martin Odersky)、大卫·斯塔塔迈尔(David Stoutamire)和菲利普·沃德勒(Philip Wadler)。1998.让未来成为过去的安全:为Java编程语言添加通用性。1998年ACM SIGPLAN面向对象编程系统、语言和;应用程序(OOPSLA’98),加拿大不列颠哥伦比亚省温哥华,1998年10月18-22日。加拿大不列颠哥伦比亚省温哥华ACM,183-200。数字图书馆谷歌学者[4]卢卡·卡德利和彼得·韦格纳。1985.关于理解类型、数据抽象和多态性。ACM计算。Surv公司。第17、4页(1985年12月),第471-523页。数字图书馆谷歌学者[5]Manuel M.T.Chakravarty、Gabriele Keller、Simon Peyton Jones和Simon Marlow。2005.与类关联的类型。第32届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录(POPL'05)。美国加利福尼亚州长滩ACM,1-13。数字图书馆谷歌学者[6]詹姆斯·切尼和拉尔夫·欣兹。2003.一流的幻影类型。技术报告TR1901。康奈尔大学。谷歌学者[7]阿隆佐教堂。1940.简单类型理论的形成。J.塞姆。日志。5, 2 (1940), 56–68.交叉参考谷歌学者[8]加布里埃尔·多斯·里斯和比亚恩·斯特劳斯特鲁普。2006.指定C++概念。第33届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录(POPL'06)。ACM,美国纽约州纽约市,295–308。谷歌学者[9]保罗·唐恩(Paul Downen)、扎卡里·沙利文(Zachary Sullivan)、泽娜·阿里奥拉(Zena M.Ariola)和西蒙·佩顿·琼斯(Simon Peyton Jones)。2019年,用扩展型做一份更快的咖喱。第十二届ACM SIGPLAN Haskell研讨会(Haskell'19)会议记录。ACM,德国柏林。数字图书馆谷歌学者[10]Derek Dreyer、Robert Harper、Manuel M.T.Chakravarty和Gabriele Keller。2007年。模块化类别。在2007年1月17日至19日在法国尼斯举行的第34届ACM SIGPLAN-SIGCT编程语言原理研讨会论文集,POPL 2007,Martin Hofmann和Matthias Felleisen(编辑)。ACM,63–70岁。数字图书馆谷歌学者[11]本尼迪克特·加斯特(Benedict R.Gaster)和马克·琼斯(Mark P.Jones)。1996.可扩展记录和变体的多态类型系统。技术报告非TCS-TR-96-3。诺丁汉大学。谷歌学者[12]GHC团队。2017.GHC用户指南文档。http://www.haskell.org/ghc/docs/latest/users_guide.pdf .谷歌学者[13]Paul Hudak、Simon Peyton Jones和Philip Wadler(编辑)。1991年,编程语言Haskell报告,1.1版。可从以下位置获得http://haskell.org/definition/haskell-报告-1.1.tar.gz。谷歌学者[14]Paul Hudak和Philip Wadler(编辑)。1990年,编程语言Haskell报告,1.0版。可从以下位置获得http://haskell.org/definition/haskell-报告-1.0.ps.gz。谷歌学者[15]布莱恩·查尔斯·霍夫曼。2012年,HOLCF’11:验证功能程序的定义域理论。博士论文。美国俄勒冈州波特兰市波特兰州立大学顾问胡克(James G.Hook)和约翰·马修斯(John Matthews)。数字图书馆谷歌学者[16]约翰·休斯。1999.Haskell中的受限数据类型。1999年哈斯克尔研讨会论文集。乌得勒支大学,技术报告UU-CS-1999-28,法国巴黎,83-100。谷歌学者[17]马克·琼斯。1993年a。合格类型的一致性。技术报告YALEU/DCS/RR-989。耶鲁大学。谷歌学者[18]马克·琼斯。1993年b。构造函数类系统:重载和隐式高阶多态。在功能编程与计算机体系结构会议(FPCA'93)上。ACM,丹麦哥本哈根,52-61。数字图书馆谷歌学者[19]马克·琼斯。1994.合格类型:理论与实践。剑桥大学出版社,英国剑桥。交叉参考谷歌学者[20]马克·P·琼斯。1995年。重载和高阶多态的函数编程。高级函数编程技术第一国际春季学校(计算机科学讲义),第925卷。施普林格,柏林-海德堡,97-136。谷歌学者[21]马克·琼斯。1995年b。简化和改进合格类型。第七届函数式编程语言和计算机体系结构国际会议论文集(FPCA’95)。美国加利福尼亚州拉霍亚市ACM,160-169。数字图书馆谷歌学者[22]马克·P·琼斯。2000.具有函数依赖性的类型类。第九届欧洲编程语言与系统研讨会(ESOP’00)会议记录。施普林格-弗拉格,德国柏林,230-244。交叉参考谷歌学者[23]奥列格·基塞利约夫。2007年。Haskell只有一个类型类。http://okmij.org/ftp/Haskell/Haskill1/Haskell1.txt .谷歌学者[24]Csongor Kiss、Tony Field、Susan Eisenbach和Simon Peyton Jones。2019.哈斯克尔的高阶类型级编程。《ACM SIGPLAN函数编程国际会议论文集》(ICFP’19)。ACM,德国柏林。数字图书馆谷歌学者[25]John Launchbury和Ross Paterson。1996.参数化和未指定类型的取消装箱。第六届欧洲编程语言与系统研讨会(ESOP’96)会议记录。斯普林格·弗拉格,英国伦敦,英国,204-218。http://dl.acm.org/citation.cfm?id=645391.651452交叉参考谷歌学者[26]西蒙·马洛(编辑)。2010年,Haskell 2010语言报告。可从https://www.haskell.org/documentation在线获取HTML和pdf格式。谷歌学者[27]阿德里亚·摩尔(Adrian Moors)、弗兰克·皮森斯(Frank Piessens)和马丁·奥德斯基(Martin Odersky)。2008年,《更高级的泛型》。第23届ACM SIGPLAN面向对象编程系统语言和应用会议论文集(OOPSLA’08)。美国纽约州纽约市ACM,423-438。数字图书馆谷歌学者[28]J.Garrett Morris和Richard A.Eisenberg,2017年。约束类型族。程序。ACM计划。Lang.1,ICFP,第42条(2017年8月),28页。数字图书馆谷歌学者[29]J.Garrett Morris和James McKinna。2019.抽象可扩展数据类型:或使用任何其他名称的行。PACMPL 3,《大众》(2019),12:1–12:28。https://dl.acm.org/citation.cfm?id=3290325谷歌学者[30]多米尼克·乌节(Dominic Orchard)和汤姆·施里杰弗斯(Tom Schrijvers)。2010年哈斯克尔类型约束释放。在第十届函数和逻辑编程国际会议(FLOPS’10)的会议记录中。斯普林格·弗拉格,柏林,海德堡,56-71。数字图书馆谷歌学者[31]安德斯·佩尔森(Anders Persson)、埃米尔·阿克塞尔森(Emil Axelsson)和约瑟夫·斯文宁森(Josef Sveningsson)。2011.嵌入式语言的通用Monadic构造。《函数语言的实现和应用——第23届国际研讨会》,IFL 2011,劳伦斯,堪萨斯州,美国,2011年10月3-5日,修订论文选集(计算机科学讲稿),安迪·吉尔和朱里安·黑格(编辑),第7257卷。施普林格,85–99岁。数字图书馆谷歌学者[32]西蒙·佩顿·琼斯。1991.数据和类型的上下文。http://code.haskell.org/~dons/haskell-1990-2000/msg00072.html。谷歌学者[33]Tom Schrijvers、Simon Peyton Jones、Manuel Chakravarty和Martin Sulzmann。2008.使用开放式函数进行类型检查。在第13届ACM SIGPLAN功能编程国际会议(IFCP’08)上。ACM,维多利亚,不列颠哥伦比亚省,加拿大,51-62。数字图书馆谷歌学者[34]Tom Schrijvers、Simon L.Peyton Jones、Martin Sulzmann和Dimitrios Vytiniotis。2009年。GADT的完整和可判定类型推断。2009年8月31日至9月2日,在英国苏格兰爱丁堡举行的第14届ACM SIGPLAN功能编程国际会议上,Graham Hutton和Andrew P.Tolmach(编辑)。美国医学会,341-352。数字图书馆谷歌学者[35]达娜·斯科特。直觉主义逻辑中的同一性和存在性。《滑轮的应用:滑轮理论在逻辑、代数和分析中的应用研究研讨会论文集》,达勒姆,1977年7月9日至21日,Michael Fourman、Christopher Mulvey和Dana Scott(编辑)。施普林格-柏林-海德堡,柏林,海德堡(Heidelberg),660-696。交叉参考谷歌学者[36]尼尔·斯卡索普(Neil Sculthorpe)、扬·布拉克(Jan Bracker)、乔治·乔治泽(George Giorgidze)和安迪·吉尔(Andy Gill)。2013年,《受限人名问题》。在第18届ACM SIGPLAN函数编程国际会议(ICFP’13)的会议记录中。ACM,美国纽约州纽约市,287-298。数字图书馆谷歌学者[37]Jan Stolarek、Simon L.Peyton Jones和Richard A.Eisenberg,2015年。Haskell的注入型族。2015年9月3日至4日,加拿大不列颠哥伦比亚省温哥华市,第八届ACM SIGPLAN Haskell研讨会论文集,Ben Lippmeier(编辑)。ACM,加拿大不列颠哥伦比亚省温哥华市,118–128。数字图书馆谷歌学者[38]本贾尼·斯特劳斯特卢普。1994年。C++的设计和发展。Addison-Wesley,马萨诸塞州波士顿。谷歌学者[39]桑德罗·斯塔基。2017.具有类型间隔的高阶子类型。博士论文。瑞士洛桑埃科尔理工学院计算机与通信科学学院。交叉参考谷歌学者[40]马丁·苏尔兹曼(Martin Sulzmann)、曼努埃尔·查克拉瓦蒂(Manuel M.T.Chakravarty)、西蒙·佩顿·琼斯(Simon L.Peyton Jones)和凯文·唐纳利(Kevin Donnelly)。2007.具有类型相等强制的系统F。《TLDI’07:2007 ACM SIGPLAN语言设计与实现类型国际研讨会论文集》,法国尼斯,2007年1月16日,弗朗索瓦·波蒂埃和乔治·内库拉(编辑)。ACM,53–66岁。数字图书馆谷歌学者[41]约瑟夫·斯文宁森(Josef Sveningsson)和博·乔尔·斯文森(Bo Joel Svensson)。2013年,一元嵌入式语言的简单组合具体化。2013年9月25日至27日,在美国马萨诸塞州波士顿举行的ACM SIGPLAN功能编程国际会议上,Greg Morrisett和Tarmo Uustalu(编辑)。美国医学会,299-304。数字图书馆谷歌学者[42]Thomas Winant、Dominique Devriese、Frank Piessens和Tom Schrijvers。2014.Haskell的部分类型签名。《声明性语言的实践方面》,第8324卷。施普林格国际出版公司,17-32。谷歌学者[43]安德鲁·赖特(Andrew K.Wright)和马蒂亚斯·费尔莱森(Matthias Felleisen)。1994年,《类型发音的句法方法》。Inf.计算。115, 1 (1994), 38–94.数字图书馆谷歌学者[44]Xi Hongwei、Chen Chiyan和Gang Chen。2003.受保护的递归数据类型构造函数。第30届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录(POPL'03)。ACM,美国纽约州纽约市,224-235。数字图书馆谷歌学者 引用人查看全部戈登·C(2021)多态可迭代序列效应系统程序设计语言与系统学报10.1145/345027243:1(1-79)网上发布日期:2021年4月https://doi.org/10.1145/3450272 索引术语 分部类型构造函数:或,使特殊数据类型不那么特殊软件及其工程软件符号和工具通用编程语言语言特点数据类型和结构语言类型函数式语言计算理论逻辑类型理论 建议 实践中的部分类型施工人员哈斯克尔2022:第15届ACM SIGPLAN国际哈斯克尔研讨会论文集 函数编程语言中的类型构造函数是总数:Haskell程序员可以同样容易地构造任何元素类型的列表。然而,在实践中,并不是所有类型构造函数的应用程序都同样明智:集合可能只。。。阅读更多信息结构参数多态的参数分型 我们研究了结构亚型与参数多态性和递归定义的类型构造函数的相互作用。虽然在这种情况下结构子类型是不确定的,但我们描述了类型构造函数的参数概念,然后。。。阅读更多信息多态代数数据类型重建PPDP’06:第八届ACM SIGPLAN声明性编程原则和实践国际会议记录 静态类型语言的缺点之一是编写所有必要的类型信息导致的编程开销:通常需要类型声明和类型定义。传统的类型推理旨在缓解。。。阅读更多信息 评论 Please enable JavaScript to view thecomments powered by Disqus. 信息和贡献者问询处发布时间 美国计算机学会程序设计语言会议录 第4卷,第POPL期2020年1月1984页EISSN公司:2475-1421内政部:10.1145/3377388期刊目录 版权所有©2019所有者/作者。本作品根据Creative Commons Attribution International 4.0许可证授权。出版商计算机协会美国纽约州纽约市出版历史出版:2019年12月20日在PACMPL中发布体积4,问题府绸权限请求对此文章的权限。请求权限检查更新作者标记参数多态性类型构造函数限定符研究文章资金来源自然科学基金贡献者 其他指标查看文章指标文献计量学和引文文献计量学 文章指标 1引文总数查看引文1,236总下载次数下载次数(过去12个月)144下载次数(最近6周)8 其他指标查看作者指标引文 引用人查看全部戈登·C(2021)多态可迭代序列效应系统程序设计语言与系统学报10.1145/345027243:1(1-79)网上发布日期:2021年4月https://doi.org/10.1145/3450272 视图选项查看选项 PDF格式以PDF文件查看或下载。PDF格式 电子阅读器使用联机查看电子阅读器.电子阅读器获取访问权限 登录选项检查您是否可以通过登录凭据或您的机构访问本文。登录完全访问权限获取此文章 媒体数字其他桌子分享分享共享此出版物链接复制链接已复制!复制失败。在社交媒体上分享Linkedin公司重新编辑电子邮件附属公司马克·P。 琼斯美国波特兰州立大学查看个人资料J.加勒特 莫里斯美国堪萨斯大学查看个人资料理查德A。 艾森伯格美国Bryn Mawr学院/英国Tweag I/O查看个人资料