×

具有iso-types的统一语法。 (英语) Zbl 1483.68065号

Igarashi,Atsushi(编辑),《编程语言和系统》。2016年11月21日至23日,第14届亚洲研讨会,2016年APLAS,越南河内。诉讼程序。查姆:斯普林格。莱克特。注释计算。科学。10017, 251-270 (2016).
概述:函数式语言(如Haskell或ML)的传统设计对术语和类型有不同的语法。相反,许多依赖类型的语言使用统一的语法来解释术语和类型。与单独的语法相比,统一语法具有一些有趣的优点,包括减少概念的重复,并增加了表达能力。然而,当存在某种级别的类型级计算时,将计算中的无限制通用递归与统一语法集成是一项挑战,因为可判定的类型检查很容易丢失。
本文认为,统一语法的优点也适用于传统函数式语言,并且没有必要放弃可判定的类型检查。我们提出了一种依赖类型的微积分,它使用统一的语法,支持一般递归,并具有可判定的类型检查。保留可判定类型检查的关键是对称为等递归类型的等递归类型进行泛化。等类型替换了依赖类型演算中通常使用的转换规则,并通过转换操作符使每个计算显式化。我们研究了演算的两种变体,它们在cast操作符使用的约简策略上有所不同,并在简单性和表达性方面进行了不同的权衡。
关于整个系列,请参见[Zbl 1347.68009号].

MSC公司:

68甲18 函数编程和lambda演算
68甲15 编程语言理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] 亚当斯:具有判断平等的纯类型系统。J.功能。程序。16(02), 219–246 (2006) ·Zbl 1088.68030号 ·doi:10.1017/S0956796805005770
[2] Altenkirch,T.、Danielsson,N.A.、Löh,A.、Oury,N.:\[\varPi变量\]
\[\可变西格玛\]:不含糖的依赖型。摘自:Blume,M.、Kobayashi,N.、Vidal,G.(编辑)《函数和逻辑编程》。LNCS,第6009卷,第40-55页。施普林格,海德堡(2010)。doi:10.1007/978-3642-12251-4-5·Zbl 1284.68122号 ·doi:10.1007/978-3-642-12251-4_5
[3] Augustsson,L.:Cayenne–一种具有依赖类型的语言。收录于:ICFP 1998。第239-250页(1998年)·Zbl 1369.68085号
[4] Barendregt,H.:广义类型系统简介。J.功能。程序。1(2), 125–154 (1991) ·Zbl 0931.03019号
[5] Barendregt,H.:Lambda Calculi与类型。计算机科学逻辑手册2,117–309(1992)
[6] Brady,E.:IDRIS–系统编程满足完全依赖类型。摘自:PLPV 2011,第43–54页(2011)
[7] Cardelli,L.:一种具有类型:类型的多形Lambda-Calculus。数字系统研究中心(1986)
[8] Casinghino,C.,Sjöberg,V.,Weirich,S.:用独立类型语言组合证明和程序。收录于:POPL 2014,第33-45页(2014)·Zbl 1284.68125号 ·doi:10.1145/2535838.2535883
[9] Coq开发团队:Coq证明助理。http://coq.inia.fr/
[10] Coquand,T.,Huet,G.:结构微积分。Inf.计算。76, 95–120 (1988) ·Zbl 0654.03045号 ·doi:10.1016/0890-5401(88)90005-3
[11] Crary,K.,Harper,R.,Puri,S.:什么是递归模块?。在:PLDI 1999,第50-63页(1999年)·数字标识代码:10.1145/301618.301641
[12] van Doorn,F.,Geuvers,H.,Wiedijk,F.:纯类型系统中的显式可转换证明。In:2013年LFMTP,第25-36页(2013年)·doi:10.145/2503887.2503890
[13] Eisenberg,R.A.,Vytiniotis,D.,Peyton Jones,S.,Weirich,S.:具有重叠方程的封闭型族。In:POPL 2014(2014)·Zbl 1284.68130号 ·doi:10.1145/2535838.2535856
[14] 吉拉德(Girard),J.Y.:《宗教法庭的解释》(Interlation fonctionnelle et limination des coupures de l'rithmtique d'ordre suprieur)。巴黎第七大学博士论文(1972年)
[15] Jones,M.P.:具有函数依赖性的类型类。摘自:2000年3月第九届欧洲编程语言与系统研讨会会议记录·Zbl 0971.68641号 ·doi:10.1007/3-540-46425-5_15
[16] Juting,L.:纯打字系统中的打字。Inf.计算。105(1), 30–41 (1993) ·Zbl 0785.03003号 ·doi:10.1006/inco.1993.1038
[17] Kimmell,G.,Stump,A.,Eades III,H.D.,Fu,P.,Sheard,T.,Weirich,S.,Casinghino,C.,Sjöberg,V.,Collins,N.,Ahn,K.Y.:关于具有一般递归和调用值语义的程序的等式推理。摘自:PLPV 2012,第15-26页(2012)·doi:10.1145/2103776.2103780
[18] Mogensen,T.A.:理论珍珠:Lambda微积分中的有效自我解释。J.功能。程序。2(3), 345–364 (1992) ·Zbl 0817.68051号 ·doi:10.1017/S0956796800000423
[19] 诺雷尔,U。:基于依赖类型理论的实用编程语言。查尔默斯理工大学博士论文(2007年)
[20] Peyton Jones,S.、Washburn,G.、Weirich,S.:摇摆类型:广义代数数据类型的类型推断。技术报告,MS-CIS-05-26,宾夕法尼亚大学,2004年7月
[21] Jones,S.P.,Meijer,E.:亨克:一种类型化中间语言。In:编译研讨会中的类型(1997)
[22] 不列颠哥伦比亚省皮尔斯:类型和编程语言。麻省理工学院出版社,剑桥(2002)·Zbl 0995.68018号
[23] Sjöberg,V.、Casinghino,C.、Ahn,K.Y.、Collins,N.、Eades III,H.D.、Fu,P.、Kimmell,G.、Sheard,T.、Stump,A.、Weirich,S.:无关性、异质性平等和依赖于调用值的类型系统。收录于:MSFP 2012,第112–162页(2012)
[24] Sjöberg,V.,Weirich,S.:编程到同余。收录于:POPL 2015,第369–382页(2015)·Zbl 1345.68034号 ·doi:10.1145/2676726.2676974
[25] Stump,A.、Deters,M.、Petcher,A.、Schiller,T.、Simpson,T.:用Guru验证编程。摘自:PLPV 2009,第49-58页(2008)·doi:10.145/1481848.1481856
[26] Sulzmann,M.,Chakravarty,M.M.T.,Jones,S.P.,Donnelly,K.:具有类型平等胁迫的系统F。收录于:TLDI 2007,第53–66页(2007)·doi:10.1145/1190315.1190324
[27] Swamy,N.、Chen,J.、Fournet,C.、Strub,P.Y.、Bhargavan,K.、Yang,J.:具有值相关类型的安全分布式编程。收录于:ICFP 2011,第266–278页(2011年)·Zbl 1323.68229号 ·doi:10.1145/2034773.2034811
[28] Weirich,S.,Hsu,J.,Eisenberg,R.A.:具有显式种类相等的系统FC。收录于:ICFP 2013,第275–286页(2013)·Zbl 1323.68194号 ·doi:10.1145/2500365.2500599
[29] Yang,Y.,Bi,X.,Oliveira,B.C.d.S.:具有等类型的统一语法。扩展版(2016)。https://bitbucket.org/ypyang/aplas16 ·Zbl 1483.68065号
[30] 尤基,B.A.,威里奇,S.,克里丁,J.,琼斯,S.P.,维提尼奥蒂斯,D.,马加莱斯,J.P.:给哈斯克尔升职。收录于:TLDI 2012,第53–66页(2012)·doi:10.1145/2103786.2103795
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。