×

轻量级子结构类型的类型类。 (英语) Zbl 1477.68071号

Alves,Sandra(编辑)等人,《第三届线性国际研讨会论文集》,线性2014,奥地利维也纳,2014年7月13日。滑铁卢:开放出版协会(OPA)。电子。程序。西奥。计算。科学。(EPTCS)176,34-48(2015)。
概述:线性和子结构类型是强大的工具,但将它们添加到标准函数式编程语言中通常意味着引入额外的注释和键入机制。我们提出了一种轻量级的子结构类型系统设计,将弱化和收缩的结构规则重新定义为类型类;我们用原型语言Clamp演示了这种设计。
Clamp支持多态子结构类型以及可变引用的表达系统。同时,它几乎不会给使用类型类丰富的标准Damas-Hindley-Milner类型系统增加额外的开销。我们已经为核心模型建立了类型安全性,并在Haskell中实现了带有类型推理的类型检查器。
关于整个系列,请参见[Zbl 1436.68010号].

MSC公司:

68甲18 函数编程和lambda演算
03楼52 线性逻辑和其他子结构逻辑的理论证明

软件:

施舍
PDF格式BibTeX公司 XML格式引用
全文: arXiv公司 链接

参考文献:

[1] 萨姆森·阿布拉姆斯基(1993):《线性逻辑的计算解释》。西奥。计算。科学。111(1-2),doi:10.1016/0304-3975(93)90181-R·Zbl 0791.03003号 ·doi:10.1016/0304-3975(93)90181-R
[2] Amal Ahmed、Matthew Fluet和Greg Morrisett(2005):亚结构状态的阶跃指数模型。In:程序。第十届ACM SIGPLAN函数编程国际会议(ICFP'05),doi:10.1145/1086365.1086376·Zbl 1302.68048号 ·doi:10.1145/1086365.1086376
[3] Sandra Alves、Maribel Fernández、Mário Florido和Ian Mackie(2011):类型化Lambda-calculus中的线性和递归。摘自:第13届国际ACM SIGPLAN声明性编程原则和实践研讨会论文集,PPDP’11,ACM,美国纽约州纽约市,第173-182页,doi:10.1145/2003476.2003500·doi:10.1145/2003476.2003500
[4] 亨利·贝克(1994):“线性逻辑”快速排序。SIGPLAN不是。29(2),第13-18页,doi:10.1145/181748.181750·doi:10.1145/181748.181750
[5] Erik Barendsen和Sjaak Smetsers(1996):具有图形重写语义的函数语言的唯一性键入。In:数学。结构。公司。科学·Zbl 0863.68081号
[6] 加文·比尔曼(1993):直觉主义线性逻辑。剑桥大学博士论文。
[7] Jawahar Chirimar、Carl A.Gunter和Jon G.Riecke(1996):参考计数作为线性逻辑的计算互表示。函数编程杂志6,第6-2页,doi:10.1017/S0956796800001660·Zbl 0861.03025号 ·doi:10.1017/S0956796800001660
[8] Luis Damas和Robin Milner(1982):功能程序的主要类型模式。In:程序。第九届ACM编程语言原则年会(POPL'82),doi:10.1145/582153.582176·电话:10.1145/582153.582176
[9] Edward Gan(2013):夹具:下部结构类型的类型类。哈佛大学高级论文。可在http://edgan8.github.io/。
[10] Simon J.Gay和Vasco T.Vasconelos(2010):异步会话类型的线性类型理论。《函数编程杂志》20,第19-50页,doi:10.1017/S09567968099990268·Zbl 1185.68194号 ·doi:10.1017/S09567968099990268
[11] Jean-Yves Girard(1972):《解释功能内尔和消除宗教仪式的教友》(Interpretation fonctionnelle et Elimination des coupures de l'arithmétique d'ordre supérieur)。巴黎第七大学,doi:10.1016/0304-3975(87)90045-4·Zbl 0625.03037号 ·doi:10.1016/0304-3975(87)90045-4
[12] Mark P.Jones(1995):合格类型:理论与实践。剑桥大学出版社,纽约·Zbl 0841.68113号
[13] 马克·琼斯(1999):在哈斯克尔中键入哈斯克尔。In:程序。1999年Haskell研讨会。
[14] Karl Mazurak、Jianzhou Zhao和Steve Zdancewic(2010):系统F中的轻型线性类型。In:程序。第五届ACM SIGPLAN语言设计与实现类型研讨会,doi:10.145/1708016.17708027·Zbl 1323.68135号 ·数字对象标识代码:10.1145/1708016.1708027
[15] 西蒙·佩顿·琼斯(Simon Peyton Jones)和约翰·休斯(John Hughes)主编(1999):Haskell 98:一种非严格的纯功能语言。
[16] Jesse A.Tov(2012):子结构类型的实用编程。东北大学博士论文。
[17] Jesse A.Tov和Riccardo Pucella(2011):实用仿射类型。In:程序。第38届ACM SIGPLAN-SIGACT编程语言原则年会(POPL'11),doi:10.1145/1926385.1926436·Zbl 1284.68109号 ·doi:10.1145/1926385.1926436
[18] Edsko Vries、Rinus Plasmeijer和David M.Abrahamson(2008):功能语言的实现和应用。《简化的独特打字》一章,斯普林格·弗拉格出版社,柏林,海德堡,第201-218页,doi:10.1007/978-3-540-85373-2 12·doi:10.1007/978-3-540-85373-2_12
[19] Philip Wadler和Stephen Blott(1989):如何使Ad-Hoc多态性不那么特别。In:程序。第16届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL'89),doi:10.1145/75277.75283·doi:10.1145/75277.75283
[20] David Walker(2005):类型和编程语言高级主题,第1章。麻省理工学院出版社,美国马萨诸塞州坎布里奇·Zbl 1080.68009号
[21] 基思·万斯堡和西蒙·佩顿·琼斯(1999):《从前的多态类型》。In:程序。第26届美国计算机学会SIGPLAN-SIGCT编程语言原理研讨会(POPL’99),美国计算机学会,第15-28页,doi:10.145/292540.292545·数字对象标识代码:10.1145/292540.292545
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。