跳到主要内容
文章

各种通用编程

出版:2018年9月17日出版历史
跳过抽象节

摘要

数据类型通用编程是一种广泛使用的技术,用于定义在一类数据类型上正常工作的函数。示例包括派生数据的序列化、相等性甚至函数性。这个最先进的泛型编程仍然缺乏处理GADT、多类型变量和其他一些功能。本文利用现代GHC扩展,包括<pre>TypeInType</pre>,来处理任意数量的类型变量、约束和存在项。我们还为我们的建筑提供了一个Agda模型需要罗素悖论,证明结构是一致的。

跳过补充材料部分

补充材料

工具书类

  1. 托尔斯滕·奥尔滕科奇(Thorsten Altenkirch)、康诺·麦克布莱德(Conor McBride)和彼得·莫里斯(Peter Morris),2007年。具有依赖类型的泛型编程。2006年数据类型通用编程国际会议记录(SSDGP’06)斯普林格·弗拉格,柏林,海德堡。http://dl.acm.org/citation.cfm?id=1782894.1782898谷歌学者谷歌学者交叉引用交叉引用
  2. 托尔斯滕·阿滕科奇和伯恩哈德·罗伊斯。1999.使用广义归纳类型的Lambda术语的Mondic表示。第十三届计算机科学逻辑国际研讨会和第八届EACSL年会会议记录(CSL'99). http://dl.acm.org/citation.cfm?id=647849.737066谷歌学者谷歌学者数字图书馆数字图书馆
  3. 尼克·本顿(Nick Benton)、钟基尔·胡(Chung-Kil Hur)、安德鲁·肯尼迪(Andrew J.Kennedy)和康诺·麦克布莱德(Conor McBride)。2012.Coq中的强类型术语表示。J.汽车。原因。49,2(2012年8月),19。谷歌学者谷歌学者数字图书馆数字图书馆
  4. 理查德·S·伯德(Richard S.Bird)和兰伯特·G·L·T·米尔滕斯(Lambert G.L.T.Meertens)。1998.嵌套数据类型。程序构造数学学报(MPC’98). http://dl.acm.org/citation.cfm?id=648084.747162谷歌学者谷歌学者数字图书馆数字图书馆
  5. 巴尔杜尔·布伦达尔(Baldur Blöndal)、安德烈斯·洛赫(Andres Löh)和瑞安·斯科特(Ryan Scott)。2018.衍生途径。第11届ACM Haskell研讨会会议记录(Haskell'18).谷歌学者谷歌学者
  6. 马克斯·博林布鲁克。2011.GHC的约束类型。http://blog.omega prime.co.uk/?p=127博客帖子。谷歌学者谷歌学者
  7. Gert-Jan Bottu、Georgios Karachalias、Tom Schrijvers、Bruno C.d.S.Oliveira和Philip Wadler。2017.量化类约束。第十届ACM SIGPLAN Haskell国际研讨会会议记录(Haskell2017)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  8. Edsko de Vries和Andres Löh。2014.产品真实金额。第十届ACM SIGPLAN通用编程研讨会论文集(WGP’14)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  9. 理查德·艾森伯格(Richard A.Eisenberg)和斯蒂芬妮·魏里奇(Stephanie Weirich)。2012.使用单例的独立类型编程。2012年Haskell研讨会会议记录(Haskell'12)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  10. 理查德·艾森伯格(Richard A.Eisenberg)、斯蒂芬妮·魏里奇(Stephanie Weirich)和哈米达桑·艾哈迈德(Hamidhasan G.Ahmed)。2016.可见类型应用。第25届欧洲编程研讨会,2016年ESOP,荷兰埃因霍温,4月2-8日施普林格。谷歌学者谷歌学者数字图书馆数字图书馆
  11. 吉恩·伊夫·吉拉德。1972解释函数内尔和消除法博士论文。谷歌学者谷歌学者
  12. 拉尔夫·欣泽(Ralf Hinze)。2000.泛型函数编程的新方法。第27届ACM SIGPLAN-SIGCT程序设计语言原理研讨会论文集(POPL’00)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  13. 拉尔夫·欣泽(Ralf Hinze)。2000.多元价值观具有多元类型。程序构造数学施普林格-柏林-海德堡。谷歌学者谷歌学者数字图书馆数字图书馆
  14. Ralf Hinze和Johan Jeuring,2003年。通用Haskell:应用程序施普林格-柏林-海德堡,柏林,海德堡。谷歌学者谷歌学者
  15. 拉尔夫·拉梅尔(Ralf Lämmel)和西蒙·佩顿·琼斯(Simon Peyton Jones)。2003.报废你的模板:通用编程的实用设计模式。2003年ACM SIGPLAN语言设计与实现类型国际研讨会论文集(TLDI’03)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  16. 埃尔科·莱姆普森克(Eelco Lempsink)、肖恩·皮革(Sean Leather)和安德烈斯·洛赫(Andres Löh)。2009.数据类型系列的类型安全差异。2009年ACM SIGPLAN通用编程研讨会论文集(WGP’09)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  17. 何塞·佩德罗·马加莱斯(JoséPedro Magalháes)、阿特泽·迪杰斯特拉(Atze Dijkstra)、约翰·尤因(Johan Jeuring)和安德烈斯·洛赫(Andres Löh)。2010年,Haskell的通用派生机制。第三届ACM Haskell研讨会会议记录(Haskell'10)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  18. JoséPedro Magalháes和Johan Jeuring,2011年。索引数据类型的通用编程。第七届ACM SIGPLAN通用编程研讨会论文集(WGP’11)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  19. 何塞·佩德罗·马加莱斯和安德烈斯·洛赫。2012.数据类型通用编程方法的正式比较。数学结构函数编程第四次研讨会论文集,爱沙尼亚塔林,2012年3月25日詹姆斯·查普曼(James Chapman)和保罗·布莱恩·利维(Paul Blain Levy)(编辑)。谷歌学者谷歌学者交叉引用交叉引用
  20. 何塞·佩德罗·马加莱斯和安德烈斯·洛赫。2014.通用通用编程。声明语言的实用方面马修·弗拉特(Matthew Flatt)和郭海峰(Hai-Feng Guo)(编辑)。谷歌学者谷歌学者数字图书馆数字图书馆
  21. 西蒙·马洛等人,2010年。Haskell 2010年语言报告。https://www.haskell.org/onlinereport/haskell2010/。谷歌学者谷歌学者
  22. 康诺·麦克布莱德(Conor McBride)。2013.独立类型元编程(Agda),课堂讲稿。谷歌学者谷歌学者
  23. 维克托·卡西亚里·米拉尔多(Victor Cacciari Miraldo)、皮埃尔·埃瓦里斯特·达甘(Pierre-Evariste Dagand)和沃特·斯威斯特拉(Wouter Swierstra)。2017.结构化数据的类型导向差异。第二届ACM SIGPLAN类型驱动开发研讨会会议记录(TyDe 2017)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  24. 维克托·卡西亚里·米拉尔多和亚历杭德罗·塞拉诺。2018.相互递归数据类型的产品总和。第三届ACM SIGPLAN类型驱动开发研讨会会议记录(TyDe 2018).谷歌学者谷歌学者数字图书馆数字图书馆
  25. 尼尔·米切尔和科林·伦西曼。2007年,统一锅炉铭牌和清单处理。ACM SIGPLAN Haskell研讨会会议记录(Haskell'07)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  26. 托马斯·范·诺特(Thomas van Noort)、阿列克谢·罗德里格斯(Alexey Rodriguez)、斯特凡·霍尔德曼(Stefan Holdermans)、约翰·杰林(Johan Jeuring)和巴斯蒂安·海伦(Bastian Heeren)。2008.数据类型通用重写的轻量级方法。ACM SIGPLAN泛型编程研讨会会议记录(WGP’08)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  27. 西蒙·佩顿·琼斯(Simon Peyton Jones)、斯蒂芬妮·魏里奇(Stephanie Weirich)、理查德·艾森伯格(Richard A.Eisenberg)和迪米特里奥斯·维蒂尼奥蒂斯(Dimitrios Vytiniotis)。2016。对类型的反思。改变世界的成功列表——菲利普·沃德勒60岁诞辰献词.谷歌学者谷歌学者
  28. Alexey Rodriguez、Johan Jeuring、Patrik Jansson、Alex Gerdes、Oleg Kiselyov和Bruno C.d.S.Oliveira。2008年,比较Haskell中泛型编程的库。第一届ACM SIGPLAN Haskell研讨会会议记录(Haskell'08)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  29. 瑞恩·斯科特。2018.如何使用量化约束导出(某些)GADT的泛型。博客文章,可在https://ryanglscott.github.io/2018/02/11/how-to-derive-generic-for-some-gadts/。谷歌学者谷歌学者
  30. 亚历杭德罗·塞拉诺(Alejandro Serrano)和尤里安·黑格(Jurrian Hage)。2016.Haskell数据类型上树正则表达式的泛型匹配。2016年1月18日至19日,美国佛罗里达州圣彼得堡,PADL 2016,第18届国际声明性语言实践研讨会。诉讼.谷歌学者谷歌学者
  31. 蒂姆·谢尔德(Tim Sheard)和西蒙·佩顿·琼斯(Simon Peyton Jones)。Haskell的模板元编程。https://www.microsoft.com/en-us/research/publication/template-meta-programming-for-haskell网站/谷歌学者谷歌学者数字图书馆数字图书馆
  32. 斯蒂芬妮·威里奇和克里斯·卡辛基诺。2010年,Arity-generic Datatype-generic Programming。第四届ACM SIGPLAN编程语言研讨会会议记录与程序验证(PLPV’10)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  33. Stephanie Weirich、Justin Hsu和Richard A.Eisenberg,2013年。具有显式种类相等的系统FC。SIGPLAN不是。48,9(2013年9月)。谷歌学者谷歌学者数字图书馆数字图书馆
  34. Stephanie Weirich、Antoine Voizard、Pedro Henrique Azevedo de Amorim和Richard A.Eisenberg,2017年。Haskell中依赖类型的规范。程序。ACM计划。语言。1,ICFP(2017年8月)。谷歌学者谷歌学者数字图书馆数字图书馆
  35. 托马斯·维南特(Thomas Winant)、多米尼克·德弗里斯(Dominique Devriese)、弗兰克·皮森斯(Frank Piessens)和汤姆·施里杰弗斯(Tom Schrijvers)。2014.Haskell的部分类型签名。声明语言的实用方面马修·弗拉特(Matthew Flatt)和郭海峰(Hai-Feng Guo)(编辑)。谷歌学者谷歌学者数字图书馆数字图书馆
  36. Xi Hongwei、Chen Chiyan和Gang Chen。2003.受保护的递归数据类型构造函数。第30届ACM SIGPLAN-SIGACT编程语言原理研讨会会议记录(POPL'03)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  37. Alexey Rodriguez Yakushev、Stefan Holdermans、Andres Löh和Johan Jeuring,2009年。针对相互递归数据类型的具有固定点的通用编程。第14届ACM SIGPLAN函数编程国际会议(ICFP’09)会议记录美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆
  38. 布伦特·尤吉、斯蒂芬妮·威里奇、朱利安·克雷汀、西蒙·佩顿·琼斯、迪米特里奥斯·维蒂尼奥蒂斯和何塞·佩德罗·马加莱斯。2012.给哈斯克尔升职。第八届ACM SIGPLAN语言设计与实现类型研讨会会议记录(TLDI’12)美国纽约州纽约市ACM。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 各种通用编程

      建议

      评论

      登录选项

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

      登录

      完全访问权限

      • 发布于

        封面图片ACM SIGPLAN注意事项
        ACM SIGPLAN通知 第53卷第7期
        Haskell’18岁
        2018年7月
        185页
        国际标准编号:0362-1340年
        EISSN公司:1558-1160
        内政部:10.1145年3月299711日
        期刊目录
        • 封面图片ACM会议
          Haskell 2018:第十一届ACM SIGPLAN Haskells国际研讨会会议记录
          2018年9月
          185页
          十亿英镑:9781450358354
          内政部:10.1145/3242744

        版权所有©2018 ACM

        如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。向请求权限[电子邮件保护].

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        • 出版:2018年9月17日

        检查更新

        限定符

        • 文章

      PDF格式

      以PDF文件查看或下载。

      PDF格式

      电子阅读器

      使用eReader联机查看。

      电子阅读器